wirtualny katalog na haslo

0

Przerabiam autoryzację i uwierzytelnianie poprzez plik web.config
chcę aby tylko jeden katalog był na hasło, zrobiłam coś takiego:

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

oczekiwałam, że dzięki temu po wejściu do katalogu admin
zostane automatycznie przekierowana do strony logowania (Login.asxp)
niestety nic takiego się nie dzieje, co jest nie tak?

0

Po pierwsze - brakuje ci domknięcia tagu <deny /> (chyba że to forum ucięło).
Po drugie z tego co się orientuję to to blokuje dostęp do zasobów czyli plików w tym folderze Admin. Więc jeśli miałabyś tam jakieś pliki to by przekierowanie zadziałała (o ile oczywiście dobrze skonfigurowałaś tag authentication). czy nie możesz po prostu zablokować przeglądania katalogów z IIS'a a dostęp do poszczególnych plików przez ten wpis?

0

nie, ponieważ chcę mieć tam dostęp na hasło dla jednego lub dwóch użytkoników

Po pierwsze - brakuje ci domknięcia tagu <deny />
to tylko literówna na forum w kodzie mam zamkniete

przekierowanie nie działa mimo że są tam pliki

tag authentication jest skonfigurowany prawidłowo, zreszta na tym poziomie to nie ma chyba znaczenia

0

ok juz dziala dziekuje

0

Podane przeze rozwiązanie jest prawidłowe. Dostęp do pliku w katalogu admin (np. admin/plik.aspx) -> przekierowanie do strony login.aspx.

<authentication mode="Forms">
	<forms loginUrl="login.aspx"/>
</authentication>

oraz

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

Tag authentication jest ważny: tam definiujesz, że ma iść na stronę login.aspx gdy nie ma dostępu, oraz na podstawie tego jak go masz skonfigurowany badane jest czy user ma dostęp czy nie. (np. czy Froms czy Windows ma znaczenia).

Nie wiem czy można, aż na takim poziomie konfigurować możliwość wyświetlania katalogów - wydaje mi się, że niestety nie.

0

jesli nie zdefiniujsz na jaka strone ma isc to domyslnie jest to Login.aspx,
ale mam kolejny problem, pojawia mi się formualrz logowania - super,
ale jak juz wpisuje login i hasło to pisze ze nie udana proba logowania,
może tag authentication powinien znajdować sie w jakims szczegolnym miejscu ?
ale skoro kompilator nie pokazuje błedu to chyba mam w dobrym miejscu

0

Użytkowników przechowujesz w bazie aspnetdb stworzonej za pomocą narzędzia aspnet_regsql.exe? Jesteś pewna, że user tam jest? Przejrzyj zawartość bazy - może akurat to konto jest zablokowane (kilka nieudanych prób logowania)

0

użytkownika przechowuje w web.config
w sekcji
<authentication mode="Forms">

0

Pokaż może całość tej sekcji (hasła jeśli masz plain textem możesz zmienić ofcourse). Może ktoś coś wymyśli.

0

<authentication mode="Forms">
          <forms>
              <credentials passwordFormat="Clear">
                  <user name="uzytkownik" password="haslo" />
              </credentials>
          </forms>
      </authentication>

1 użytkowników online, w tym zalogowanych: 0, gości: 1