Asp.net формирует аутентификацию - PullRequest
1 голос
/ 30 ноября 2009

В моем web.config у меня есть это:

<system.web>
    <authentication mode="Forms">
        <forms loginUrl="Login.aspx" protection="All" path="/" timeout="30"/>
    </authentication>
    <sessionState timeout="20" />
</system.web>

<location path="admin">
    <system.web>
        <authorization>
             <deny users="*"/>
             <allow users="admin"/>
        </authorization>
    </system.web>
</location>

У меня две проблемы:

  1. В моем пути администратора я хочу, чтобы только администратор имел доступ, но я не могу найти способ сделать это. Как сделать так, чтобы доступ имел только администратор?

  2. Пользователь всегда выходит из системы, даже если я пытаюсь использовать куки-файлы, поэтому он не должен выходить из системы. В моем login.aspx у меня есть следующий код, когда пользователь действителен:

    FormsAuthentication.RedirectFromLoginPage(user, CheckBoxPersistCookie.Checked);
    

Как я могу заставить пользователя оставаться в системе?

Ответы [ 2 ]

1 голос
/ 30 ноября 2009

попробуйте поставить строку <allow> над строкой <deny>.

<system.web>
    <authentication mode="Forms">
                <forms loginUrl="Login.aspx" protection="All" path="/" timeout="30"/>
    </authentication>
    <sessionState timeout="20" />
</system.web>

<location path="admin">
    <system.web>
        <authorization>
             <allow users="admin"/>
             <deny users="*"/>
        </authorization>
    </system.web>
</location>
0 голосов
/ 30 ноября 2009

Как я понимаю, у вас есть 30-минутный тайм-аут в вашем файле cookie аутентификации и 20 минут в вашем сеансовом куки-файле. Похоже, что сессия истечет через 20 минут, тогда использовать аутентификационный cookie-файл тоже будет невозможно.
Это немного сложно, если вы хотите оставить пользователя в системе. Я знаю, что это можно реализовать, используя javascript и невидимый iframe. Например, вам нужно перезагружать iframe каждые 5 минут. Ваш сеанс будет живым, а локальные куки обновлены.

...