У меня проблема с нашей процедурой входа.
Некоторые клиенты жалуются, что не могут войти. Я вижу в наших журналах, что их вход в систему успешен, и что они перенаправлены со страницы входа в личный кабинет. Но там почему-то логин не обнаружен, и они возвращаются на страницу входа.
Я попросил клиентов проверить, поддерживаются ли файлы cookie (http://www.html -kit.com / tools / cookietester / ), но проблема остается, даже если этот тест возвращает значение true.
Вот как я реализовал процедуру входа (просто):
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");
}
На странице участника я проверяю аутентификацию с помощью функции Page_Load:
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>