защищенные страницы в asp.net c # - PullRequest
1 голос
/ 03 ноября 2011

конфиг у меня есть:

<configuration>
<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode ="Forms">
        <forms name ="loginpage" loginUrl="login_to_secure3700.aspx" />
    </authentication>
</system.web>
<location path ="securedpages/bob.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

Таким образом, pag bob.aspx будет доступен только тогда, когда имя пользователя и пароль введены правильно. НО, это работает только для страницы bob.aspx, как я могу сделать это, например, для 50 страниц, но все с разными логинами и паролями.

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011

Существует два варианта:

Защищать каждую страницу, запрещая всем пользователям и разрешать только bob на bob.aspx и helen на helen.aspx.Учитывая ответы выше, вы справитесь с этим наверняка, но это громоздко: для каждого нового пользователя вам нужно изменить свой конфиг.

Я думаю, что лучший способ - это создать!page (user.aspx) и выберите пользователя, который вошел в систему, и персонализируйте эту единственную страницу для этого пользователя.Это намного проще в обслуживании, и у вас будет весь код на одной странице.

Если вы хотите сохранить персонализированный подход в pagename (bob.aspx), вы можете взглянуть на переписывание URL.

1 голос
/ 03 ноября 2011

Вы можете добавить несколько путей, например:

<location path ="securedpages/bob.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>
<location path ="securedpages/bob2.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

Или, проще, просто добавьте каталог защищенных страниц:

<location path ="securedpages">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>
0 голосов
/ 03 ноября 2011

вы можете поместить все 50 страниц в одну папку и добавить 1 web.config для них в эту папку, содержащую

<configuration>
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
</configuration>

. Не имеет значения, если у них разные логины и пароли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...