2013-04-30 10 views
5

To jest moje ustawienia w pliku web.config:MVC 4 Forma uwierzytelniania - nie można uzyskać dostępu do żadnych innych działań przy jednej zadeklarowanej na web.config

<authentication mode="Forms"> 
     <forms loginUrl="~/Login/Login" timeout="2880" /> 
    </authentication> 

W moim kontroler mam kilka czynności, na każdej akcji I dodano dekorację [AllowAnonymous], ale otrzymuję przekierowanie z każdej akcji do akcji logowania.

Próbowałem nawet dodać dekorację [AllowAnonymous] do kontrolera, ale to nie pomaga.

Dzięki

+2

można pokazać węzeł dostawcę członkostwa? czy możesz nawet uderzyć w kontroler domowy? –

+0

Czy korzystasz z biletów potwierdzających autentyczność plików cookie? i jak skonfigurowano routing? –

+0

Nie jestem pewien, kto jest dostawcą członkostwa, próbował go wyszukać na web.config - nie znaleziono niczego. Mogę dostać tylko do akcji logowania na kontrolerze logowania. Każde inne żądanie przechodzi do akcji logowania. Używam uwierzytelniania opartego na plikach cookie, a routing jest routingiem domyślnym. – Shahar

Odpowiedz

2

miałem podobny problem i rozwiązać go poprzez dodanie następujących do mojego web.config

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

miałem też dodać podobne wypowiedzi lokalizacji, aby moje style, skrypty i obrazy dostępne przed do uwierzytelnienia.

Edycja 1

zdałem sobie sprawę, że rzeczywiście wpadł na ten problem podczas uruchamiania mojej aplikacji MVC jako aplikacji w katalogu wirtualnym, zamiast być miejscem bazowej. YMMV.

0

Niedawno napotkałem ten problem. Niektórzy z naszych członków zespołu musieli zmienić Specific user na Application pool identity w ustawieniach uwierzytelniania IIS.

Anonymous Authentication włączona

IIS Anonymous Authentication

Powiązane problemy