Я не могу дать понять, как работает аутентификация asp.net, я настроил следующую конфигурацию в соответствии с справочным документом и google:
<configuration>
<!--
Login.aspx and the random_code_img.aspx does not need authentication
But excluding the above files,all the page are protected.
-->
<location path="Login.aspx">
</location>
<location path="random_code_img.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
..........
</system.web>
</configuration>
Теперь в login.aspx.cs:
В методе loginButton_click:
if (Membership.ValidateUser(username, password))
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
username,
DateTime.Now,
DateTime.Now.AddMinutes(30),
isPersistent,
"",
FormsAuthentication.FormsCookiePath);
// Encrypt the ticket.
string encTicket = FormsAuthentication.Encrypt(ticket);
// Create the cookie.
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
// Redirect back to the protected URL.
Session["havelogined"] = "1";
HttpContext.Current.Response.Write("<script>location.replace('Default.aspx')</script>");
}
else{
//do something
}
Однако в файле login.aspx после ввода имени и пароля, затем нажатия кнопки входа в систему я был перенаправлен на Default.aspxв адресной строке браузера, но я не вижу содержимого Default.aspx, я просто вижу:
Доступ запрещен.Описание: произошла ошибка при доступе к ресурсам, необходимым для обслуживания этого запроса.Возможно, сервер не настроен для доступа к запрошенному URL.
Сообщение об ошибке 401.2 ................
Так что мне интереснокак аутентификация asp.net узнает, авторизован я или нет?Могу ли я переместить это уведомление с некоторой читаемой информацией?
Кроме того,
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
Что означают здесь «пользователи»?
Я не думаю, что они являются зарегистрированнымипользователи в моей базе данных.