Witam,
Chce otrzymać następująca funkcjonalność:
Jeśli użytkownik chce się dostać do strony Admin.aspx, to zostaje przekierowany na stronę logowania - strona logowania to Login.aspx z kontrolką Login - jak stworzyć taki prosty układ? Jestem otwarty na inne rozwiązania, najchętniej jak najbardziej elastyczne - chodzi po prostu o ochronę panelu admina przez usera i hasło... Jak ktoś postanowi mnie odesłać do linków jakichś, to niech najpierw sprawdzi, czy spełnia to wymagania przeze mnie opisane (sprawdziłem kilkanaście hitsów z googla)
0
0
Zrób katalog admin, a w nim plik admin.aspx, w pliku konfiguracyjnym wewnątrz tego katalogu (pliki konfiguracyjne działają jak klasy "dziedziczą" ustawienia z katalogu nadrzędnego) ustaw
<authorization>
<allow roles="Admin" />
<deny users="*" />
</authorization>
W katalogu głównym należy ustawić jeszcze główny plik konfiguracyjny:
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
<compilation debug="false" />
<authorization>
<deny users="?" />
</authorization>
<roleManager enabled="true" />
<authentication mode="Forms">
<forms loginUrl="Login.aspx" />
</authentication>
To powoduje, że do katalogu głównego mają dostęp tylko zalogowani (za wyjątkiem strony Login.aspx) a do katalogu admin - tylko administratorzy. Należy jeszcze dodać katalog np. Anons, gdzie dostęp będą mieli wszyscy - i umieścić tam strony do zarejestrowania nowego usera:
Fragment konfigu z katalogu Anons:
<authorization>
<allow users="?" />
</authorization>
Wystarczy wstawić odpowiednie kontrolki z palety Login, - strona Login.aspx sama się załaduje przy próbie wejścia. Ale to tylko wierzchołek góry lodowej jeśli chodzi o autoryzacje.