Есть сайт - 3 страницы. Default.aspx, Admin.aspx и Login.aspx. Задача состоит в том, чтобы при попытке входа на страницу Admin.aspx сначала требовалась бы авторизация.
в Web.config написал так:
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms">
<forms loginUrl ="Login.aspx" />
</authentication>
<authorization >
<allow users="?"/>
<deny users="*"/>
</authorization>
</system.web>
<location path="Admin.aspx">
<system.web >
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
На форме Login.aspx 2 элемента: поле ввода txtName и кнопка btnLog. При нажатии на кнопку срабатывает следующий код:
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, txtName.Text, DateTime.Now, DateTime.Now.AddMinutes(60), false, "Administrator");
string strEncripted = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie("UrlAutht", strEncripted));
FormsAuthentication.RedirectFromLoginPage(txtName.Text, false);
При заходе на Admin.aspx автоматически выбрасывает на Login.aspx. Ввожу имя, нажимаю кнопку, а на Admin.aspx не попадаю - остаюсь на Login.aspx. Почему?
Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 04 July 2008 09:50
|