Реализация членства в ASP.NET - PullRequest
2 голосов
/ 28 января 2011

Я хочу сделать следующее

У меня есть несколько страниц на моем сайте, которые могут просматривать только зарегистрированные пользователи с определенными ролями.

Я использую членство ASP.NET длясоздание пользователей и ролей.

Как перенаправить пользователей на страницу входа, если они пытаются зайти на определенную страницу без входа в систему.

Я попробовал страницу конфигурации asp.Но это позволяет мне разрешать / запрещать разрешения только на уровне папок.Как реализовать то же самое на уровне страницы с минимальными усилиями?


Здравствуйте, друзья, большое спасибо за быстрые ответы.Они были действительно полезны.Можете ли вы также предложить мне, где искать объяснения по различным тегам, доступным под этим тегом безопасности, с некоторыми примерами и объяснениями.Пробовал гуглить .. мало пользы.

Ответы [ 3 ]

3 голосов
/ 28 января 2011

Вы можете использовать атрибут location в конфигурационном файле, например:

<location path="somefile.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

или вы можете использовать этот код в функции page_load:

if (!Page.User.Identity.IsAuthenticated)
{
     FormsAuthentication.RedirectToLoginPage();
     return;
}

Указание страницы входа:

<system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Index.aspx" timeout="2880" />
    </authentication>
</system.web>
2 голосов
/ 28 января 2011

Вы должны быть в состоянии сделать что-то подобное (очевидно, измените раздел авторизации в соответствии с вашими потребностями):

  <location path="MyPage.aspx" allowOverride="true">
    <system.web>
      <authorization>
        <allow roles="Registered User"/>
        <deny users="*"/>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
1 голос
/ 28 января 2011

Сконфигурируйте ваш web.config, вы можете применять правила разрешения / запрета на уровне страницы следующим образом:

<?xml version="1.0"?>
<configuration>
  <location path="SecuredPage.aspx">
    <system.web>
      <authorization>
        <allow roles="SuperUsers" />
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...