Здравствуйте.
Пытаюсь сделать авторизацию пользователей при запросе конкретной страницы aspx.
web.config:
<authentication mode="Forms">
<forms loginUrl="login.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
В login.aspx.cs при запросе просматриваем содержит ли запрос закрытую страницу и не делаем перенаправление на изначально запрошенную страницу:
if (FormsAuthentication.GetRedirectUrl("anonymous", false).Contains("staff") == false)
FormsAuthentication.RedirectFromLoginPage("anonymous", false);
Естественно, что FormsAuthentication.RedirectFromLoginPage() здесь использовать нельзя, а то у нас получится, что мы авторизовали любого пользователя. Простой редирект делать тоже нельзя — страничка зациклится.
Подскажите, что делают в подобных случаях нормальные люди?
Здравствуйте, fewl, Вы писали:
F>Здравствуйте.
F>Пытаюсь сделать авторизацию пользователей при запросе конкретной страницы aspx.
<location path="admin">
<system.web>
<authorization>
<allow users="..." />
<deny users="*" />
</authorization>
</system.web>
</location>
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Прошу прощения за непонятливость, но вроде всё сделал, как надо, а при запросе страниц из каталога перехода на страницу авторизации нет. Ниже более полный код из web.config
<authentication mode="Forms">
<forms name="AdminLogin" loginUrl="~/staff/login.aspx" defaultUrl="~/staff/staff.aspx" protection="All">
</forms>
</authentication>
<authorization>
<allow users="*" />
</authorization>
<compilation debug="true">
</compilation>
<customErrors mode="Off" />
</system.web>
<location path="~/staff">
<system.web>
<authorization>
<allow users="user" />
<deny users="*" />
</authorization>
</system.web>
</location>
Здравствуйте, fewl, Вы писали:
F>Прошу прощения за непонятливость, но вроде всё сделал, как надо, а при запросе страниц из каталога перехода на страницу авторизации нет. Ниже более полный код из web.config
path="staff.aspx"
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>