के तल पर अद्यतन देखें मैं जो रूपों प्रमाणीकरण का उपयोग करता एक ASP.NET 2.0 वेब आवेदन (जैसे कि https://mysite.somedomain.com/
) है। मैं https://mysite.somedomain.com/NewApp/
पर आधारित इस साइट के भीतर एक एएसपी.NET 4.0 वेब ऐप को एकीकृत करना चाहता हूं। प्रपत्र औथ बाहरी ऐप पर काम कर रहा है, लेकिन आंतरिक ऐप कुकी को अस्वीकार कर रहा है।
बाहरी (ASP.NET 2.0) वेब अनुप्रयोग पर web.config
शामिल हैं:
<httpCookies requireSSL="true"/>
<authentication mode="Forms">
<forms name="MySiteWebAuth" loginUrl="/Login.aspx" protection="All"
path="/" timeout="90" requireSSL="true" slidingExpiration="true"/>
</authentication>
<machineKey (same machine key is in both configs)
validation="SHA1"
decryption="AES"/>
<authorization>
<deny users="?"/>
<allow users="*" />
</authorization>
भीतरी (ASP.NET 4.0) वेब अनुप्रयोग पर web.config
शामिल हैं:
<authentication mode="Forms">
<forms name="MySiteWebAuth" loginUrl="/Login.aspx" protection="All"
path="/" timeout="90" requireSSL="true" slidingExpiration="true"
ticketCompatibilityMode="Framework20"/>
</authentication>
<machineKey (same machine key is in both configs)
validation="SHA1"
decryption="AES"/>
इस कोड है login.aspx.cs में सफल प्रमाणीकरण पर कुकी सेट करता है:
FormsAuthenticationTicket ticket =
new FormsAuthenticationTicket(
1,
ApplicationContext.User.Identity.Name,
DateTime.Now,
DateTime.Now.AddMinutes(90),
false,
ApplicationContext.User.Identity.SessionID.ToString()
);
HttpCookie cookie =
new HttpCookie(
FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(ticket)
);
cookie.Path = FormsAuthentication.FormsCookiePath;
cookie.HttpOnly = true;
Response.Cookies.Add(cookie);
यदि मैं बाहरी वेब ऐप में लॉग इन करता हूं, तो आंतरिक वेब ऐप के भीतर किसी पृष्ठ पर नेविगेट करता है, यह लॉगिन पृष्ठ पर रीडायरेक्ट करता है और सर्वर पर इवेंट लॉग में Forms authentication failed for the request. Reason: The ticket supplied was invalid.
लिखता है।
मैं एएसपी.NET 2.0 फॉर्म ऑथ टिकट को आंतरिक एएसपी.NET 4.0 वेब ऐप द्वारा स्वीकार करने के लिए कैसे प्राप्त करूं?
अद्यतन: यह HTTPS IIS 7.5 के तहत काम करता है, लेकिन HTTPS IIS 7.0 के तहत नहीं। कुछ और जांच कर रहे हैं।
अपडेट 2: हमने हैश-टकराव डीओएस के लिए हालिया पैच के साथ सर्वर पर सर्वर 2008 एसपी 2 लागू किया है और तब से कुकी साझाकरण ने काम किया है।
यह वही डिक्रिप्शन और मान्यता विशेषता मान (http://msdn.microsoft.com/en-us/library/w8h3skw9(v=VS डालने लायक हो सकता है। 100) .aspx) साथ ही चाबियाँ सुनिश्चित करने के लिए। यह एएसपीनेट 1.1 और 2 – davidsleeps
के बीच एक मुद्दा था बस कोशिश की (और अद्यतन प्रश्न), एक ही परिणाम। – geofftnz