ASP .NET MVC różny dostęp do plików

0

Witajcie,
mam aplikację robiącą upload plików na serwer. Załóżmy, że wysyłam na serwer pliki: 111.pdf, 222.jpg, 333.gif .

Chciałbym aby np. plik 111.pdf mógł zostać pobrany z serwera tylko po podaniu hasła. Np. wpisując w przeglądarkę http://adres/111.pdf następuje przekierowanie na stronę z textboxem do wpisania hasła.

proszę o jakieś wskazówki,
pozdrawiam

0
  • najprostsze, zero programowania: skonfiguruj serwer www tak, żeby żądał autentykacji dla plików z określonego katalogu, do którego będziesz wrzucać tylko pliki wymagające hasła.
  • dość łatwe: napisz prostą stronę żądającą autentykacji i po jej weryfikacji puszczającą plik np. przez Server.TransferRequest. url rewrite załatwi problem ładnie wyglądającego url'a.
  • stwórz handler http, który będzie obsługiwał download wszystkich lub określonych plików z danej lokalizacji, a pytanie o hasło i odpowiedź oprogramuj.
0

dzięki:)
a mógłbyś przybliżyć mi szerzej punkt 2?

dzięki z góry

0

tworzysz webservice asmx lub stronę aspx. w jakieś metodzie (webmethod) asmx albo w Page_Load() aspx sprawdzasz, czy w head (ewentualnie post - nie pamiętam) przyszło hasło i login, jeśli tak, to sprawdzasz, czy są poprawne, jeśli są, to robisz Server.TransferRequest(wirtualna ścieżka do żądanego pliku - nazwę pliku wyciągniesz z Request.RawUrl). jeśli hasła i loginu nie ma, to zwracasz status http 401 (unauthorized), przeglądarka wyświetli wtedy okno z pytaniem o te dane.
teraz url rewrite - musisz doinstalować ten moduł do iis. potem musisz dodać taką regułę, która żądanie o plik z roota przekieruje na wywołanie Twojej metody webserwisu lub stronki aspx.

możesz też to zrobić trochę inaczej - hasła żądać nie przez zwrócenie 401, a przez wyświetlenie własnej strony zawierającej odpowiedni formularz.

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