Re: авторизация через Forms
От: Диспетчер Россия  
Дата: 22.03.10 14:59
Оценка:
Здравствуйте, ne3nayka, Вы писали:

N>День добрый! Занимаюсь корпоративным сайтом, возникла проблема как реализовать авторизацию пользователей.

N>Сайт должен быть доступен только корпоративным пользователям. В связи с этим, у него есть 2 доступные всем странички:
N>1.Приветствия и 2.Авторизации. Все остальные странички должны быть для неавторизованных пользователей недоступны.

N>Желаемое решение — настройка Web.Confog правильным образом, без модификации самих внутренних страниц.

N>Возможно, часть логики прописать в Global.asax.

N>Сейчас настроил Web.Config следующим образом

N> <authentication mode="Forms">
N> <forms loginUrl="login.aspx" timeout="1" name=".FOOAUTH" defaultUrl="Welcome.aspx" path="/" cookieless="UseCookies" />
N> </authentication>
N> <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
N> <authorization>
N> <allow users="*" />
N> </authorization>


N>При таких настройках попадаю на любую страницу без прохождения авторизации на формах.


N>Подскажите плиз, реально сделать авторизацию через эти страничку приветствия и форму авторизации не меняя внутренних страниц сайта?


К примеру, как это сделано у меня:

Во-первых:

<authorization>
   <deny users="?"/>
</authorization>


Во-вторых, для доступных всем страниц:

<location path="login.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
<location path="Приветствие.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>


В-третьих, для остальных страниц (для каждой):

<location path="Page1.aspx">
    <system.web>
      <authorization>
        <allow roles="Роль1, Роль2"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
<location path="Page2.aspx">
    <system.web>
      <authorization>
        <allow roles="Роль2"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>



и т.д. и т.п.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.