我在登錄過程中遇到問題。ASP.NET身份驗證問題
有些客戶抱怨說他們無法登錄。我可以在我們的日誌中看到他們的登錄成功,並且他們從登錄頁面重定向到成員區域。但是,不知何故登錄未被檢測到,並且他們被彈回到登錄頁面。
我已要求客戶檢查是否支持cookies(http://www.html-kit.com/tools/cookietester/),但問題仍然存在,即使此測試返回true。
這是怎麼了,我實現了登錄過程(simplyfied):通過在Page_Load中功能
protected void Login(string email, string password)
{
FormsAuthentication.SignOut();
Guid clientId = /* Validate login by checking email and password, if fails display error otherwise get client id */
FormsAuthentication.SetAuthCookie(clientId.ToString(), true);
HttpContext.Current.Response.Redirect("~/Members.aspx");
}
在成員頁面我檢查認證:
public static void IsAuthenticated()
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
HttpContext.Current.Response.Redirect("~/Login.aspx", true);
}
}
也許我使用FormsAuthentication完全錯誤?
我已經問過這個,但還沒有能夠弄清楚這一點,我會很感激任何幫助。
從我的web.config:
<system.web>
<compilation debug="false">
<assemblies>
...
</assemblies>
</compilation>
<authentication mode="Forms"/>
<sessionState mode="InProc" cookieless="false" timeout="180"/>
<customErrors mode="On"/>
<httpHandlers>
...
</httpHandlers>
<httpModules>
...
</httpModules> </system.web>
你想念登錄頁面並拒絕所有用戶(請參閱我的回答)。 – Michel 2010-06-03 09:03:01
請注意,當前登錄過程適用於大多數客戶(99%)。 – 2010-06-03 09:19:17