#c# #asp.net-mvc-2 #webforms
#c# #asp.net-mvc-2 #веб-формы
Вопрос:
Я смешал веб-формы веб-приложений и mvc2. На данный момент я настроил доступ к каталогам для webforms, используя разрешения active directory.
Однако по мере совершенствования нашей системы мы должны рассмотреть возможность применения ролей к разным страницам, чтобы ограничить доступ пользователей к определенным областям.
Я знаю, что могу ограничить контроллеры ролей в mvc как:
[Authorize(Roles = "DefaultUser")]
Каков будет наилучший способ реализации поставщика ролей для старых веб-форм?
спасибо за ваши комментарии / ответы
Ответ №1:
Вы можете попробовать что-то вроде приведенного ниже в событии OnInit на вашей странице.
if (!System.Web.Security.Roles.IsUserInRole("DefaultUser"))
System.Web.Security.FormsAuthentication.RedirectToLoginPage();
Существует также другой путь через web.config в разделе конфигурация -> местоположение
<location path="urltoyoursecurepage.aspx">
<system.web>
<authorization>
<allow roles="DefaultUser" />
<deny users="*" />
</authorization>
</system.web>
</location>
Хотя я бы не предпочел этот тип беспорядка в конфигурации первому.