Смешанное приложение, реализующее правила доступа

#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>
  

Хотя я бы не предпочел этот тип беспорядка в конфигурации первому.