Tomasz M.

Tomasz M. never go full
retard!

Temat: [MVC] Problemy z autoryzacją

Cześć,

Pytanie z serii lamerskich, a być może nawet administracyjnych, ale nie potrafię tematu rozgryźć (tym bardziej że mam ograniczone dostępy).

Jest sobie aplikacja ASP MVC / IIS 7 / W2008 SRV / SQL2008. Aplikacja działą na `kastomowej app pooli`. Impersonation jest również na użytkowniku aplikacyjnym (oddzielne konto).

Problem w tym, że wszyscy userzy, którzy nie mają dostęp do katalogu aplikacji - czyli zasobów (css, js itd.), dostają 401. Ok. Pogrzebałem w Web.configu i dodałem...


<location path="Scripts">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="Content">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>


No oczywiście to nie pomaga, próbuję dalej myśląc tokiem MVC, że może traktować to jako kontrolery, dodaję więc do Global.asax...

routes.IgnoreRoute("Content/{*pathInfo}");
routes.IgnoreRoute("Scripts/{*pathInfo}");


No i dalej te same problemy - aplikacja nie ma (jeszcze!) zaimplementowanej żądnej logiki autoryzującej `w kodzie`! Więc nie jest to problem aplikacji jako takiej, ale raczej serwera IIS.

Aplikacja jest typowo intranetowa, korzysta z NTLM (kernel authentication włączone).

Czy ktoś spotkał z Was się z podobnym problemem?

Uprzedzając pytania - wszystkie dostępy dla konta aplikacyjnego sprawdzone - zarówno do serwera SQL jak i katalogów aplikacji.

401 dostaję z kontrolera, nie z zasobu.Tomasz M. edytował(a) ten post dnia 02.11.12 o godzinie 09:49

konto usunięte

Temat: [MVC] Problemy z autoryzacją

Jeśli to rzeczywiście leci z kontrollera to znaczy, że coś masz z rutami i nie działają twoje Ignore'y. Dodajesz je na samym początku do kolekcji?
Tomasz M.

Tomasz M. never go full
retard!

Temat: [MVC] Problemy z autoryzacją

Paweł Ł.:
Jeśli to rzeczywiście leci z kontrollera to znaczy, że coś masz z rutami i nie działają twoje Ignore'y. Dodajesz je na samym początku do kolekcji?

Tak, przed definicją właściwego routingu. Zaznaczam jeszcze raz, że nie ma zaimplementowanego żadnego aplikacyjnego mechanizmu autoryzacji do zasobów, póki co to raczej książkowa aplikacja MVC.

Możę spytam inaczej - jak z reguły rozwiązujecie sytuacje, gdy wymagana jest dosyć restrykcyjna autoryzacja. Mam tu na myśli fakt, że do bazy powinien łączyć się użytkownik aplikacyjny (impersonacja? app pool z tym userem?) i nikt inny poza nim, natomiast do samej aplikacji powinni miećdostęp wszyscy z sieci wewnętrznej (dalej filtruje to już sama aplikacja, podejmując odpowiednią decyzję). Aplikacja bazodanowa (serwer na tym samym komputerze lub w tej samej sieci AD).Tomasz M. edytował(a) ten post dnia 02.11.12 o godzinie 13:44

Następna dyskusja:

ASP.NET MVC




Wyślij zaproszenie do