2012-03-21 19 views
5

मैं एक सामग्री प्रबंधन प्रणाली लिख रहा हूं जहां उपयोगकर्ता ऐप के अंदर कई साइटें बना सकता है। प्रत्येक साइट प्रमाणीकरण हो सकता है। मैं यह पता लगाने की कोशिश कर रहा हूं कि ऐप के लिए वेब प्रमाणीकरण कुकीज में प्रत्येक को जोड़ने के बिना कई प्रमाणीकरण कुकीज़ कैसे प्राप्त करें। एप्लिकेशन शुरू होने पर मुझे उन्हें प्रोग्रामेटिक रूप से बनाना होगा। क्या यह संभव है?प्रोग्रामिंग के लिए एक ही ऐप के लिए एकाधिक प्रमाणीकरण कुकीज़ कैसे प्राप्त करें

पूर्व।

SecureApp: प्रमाणीकरण अलग की जरूरत है SecureApp

से उम्मीद है कि इस समझ में आता है -: - http://localhost/CTMS/Custom1http://localhost/CTMS साइटों

CustomSite अद्यतन करने के लिए प्रमाणीकरण की जरूरत है।

उत्तर

8

आप यह कर सकते हैं -

FormsAuthenticationTicket _ticket = new FormsAuthenticationTicket(_version, _name, _issueDate, _expirationDate, _isPersistent, _userData, _cookiePath); 

string _encryptedTicket = FormsAuthentication.Encrypt(_ticket); 

HttpCookie _cookie = new HttpCookie("customticket", _encryptedTicket); 

HttpContext.Current.Response.Cookies.Add(_cookie); 

तो फिर तुम अगर वे यह कुकी प्राप्त देखने के लिए आने वाले अनुरोधों को जांच करने के लिए कोड लिख सकते हैं -

HttpCookie _cookie = HttpContext.Current.Request.Cookies["customticket"]; 

if(_cookie){ 

_encryptedTicket = _cookie.Value; 
FormsAuthenticationTicket _ticket = FormsAuthentication.Decrypt(_encryptedTicket); 

    if(!_ticket.Expired) { 
     IIdentity _identity = new FormsIdentity(_ticket); 
     IPrincipal _principal = new GenericPrincipal(_identity, new string[0]); //Identity plus string of roles. 
    } 
} 
else{ 
//dostuff 
} 
+0

सवाल लिखने के बाद, इस दृष्टिकोण मैं समाप्त हो गया है साथ जा रहा है। धन्यवाद! –

+0

उत्कृष्ट समाधान। मैंने इसे हमारे एमवीसी 5 अनुप्रयोगों में से एक में अपनाया है। – Tommassiov

संबंधित मुद्दे

 संबंधित मुद्दे