2014-10-14 13 views
5

I oddzielił modele na konkretne przedsięwzięciaAutoryzacja nie atrybut pracy MVC 5

Po tym domyślna MVC [Autoryzuj] nie atrybut działa w mojej aplikacji

Gdy próbuję się zalogować do aplikacji nie jest logowania aplikacja nie jest przekierowanie do konkretnej strony

+2

Czy możesz opublikować kod. Trudno jest dowiedzieć się, co jest nie tak bez niego. – Gjohn

+0

Kiedy umieść atrybut atrybutu przed kontrolerem, po prostu nie rób nic, gdy usuwam atrybut i poprawnie przekierowuję mnie do konkretnego widoku, z którym się spotykam po restrukturyzacji rozwiązania oddzielającego Model z głównego projektu na osobny projekt –

Odpowiedz

4

Czy masz coś takiego

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

w Twojej web.config?

+0

Mam powyższe –

+5

Twoje pytanie nie pomaga – CRice

0

Miałem ten sam problem z Authorize nie działa. Na początku myślałem, że to kod. Ale wszystko było w porządku - zbudowane bez błędów. Następnie uruchomiłem ponownie moją maszynę programistyczną i zaczęło działać. To zadziałało po raz pierwszy, a następnie miał ten sam problem z nie działa. Pomyśl, że musi to być przechowywanie wartości z pierwszego cyklu i nie oczyszczanie jej. (tylko teoria)

+3

To tak naprawdę nie odpowiada na pytanie i prawdopodobnie powinno zostać opublikowane jako komentarz. – ZygD

0

Właśnie wpadłem na ten problem dzisiaj i chciałem dodać moje rozwiązanie dla każdego, kto może również napotkać ten błąd. Nic więcej nie działało dla mnie. Niedawno zrobiłem instalator dla jednego z innych projektów tego rozwiązania i musiałem odznaczyć pole "Kompilacja" w programie Configuration Manager.

Po odznaczeniu tej opcji nie odbudowano jej po dodaniu znacznika [Autoryzuj], mimo że pojawiły się zmiany strony cshtml. Nie zrozumiałem tego, dopóki nie wprowadziłem punktu przerwania w działaniu kontrolera i zauważyłem, że nigdy go nie uderzyłem. Próbowałem nawet zwrócić wartość zerową ze sterownika, a aplikacja nadal nawigowała do nowej strony.

Krótko mówiąc, upewnij się, że budujesz ten projekt w programie Menedżer konfiguracji, to działało dla mnie.

11

Sprawdź, czy usunąłeś moduł autoryzacji formularzy. Niektóre nowe szablony domyślnie usuwają autoryzację formularzy. Jeśli został usunięty, skomentuj go. Będzie tak wyglądał w Twojej web.config:

<remove name="FormsAuthentication" /> 

Znalazłem to pytanie, patrząc na bardzo podobnym błędem, więc pomyślałem, że byłoby dobrze, aby umieścić moje rozwiązanie.

+1

Po prostu spędziłem godziny próbując wyśledzić, dlaczego mój autor nie pracował ... to było to ... było w tagu ... tak frustrujące ... –

+0

Pracowałem dla mnie po walce 2 godziny. –

0

Dla mnie, musiałem ustawić następujące AppSetting

<add key="owin:AutomaticAppStartup" value="false"/> 

do

<add key="owin:AutomaticAppStartup" value="true"/> 
1

Dla mnie ma bardzo trywialny błąd. Byłem jeszcze uwierzytelniony. Owin Authentication pozostaje zalogowanym użytkownikiem pomimo zamknięcia przeglądarki. Muszę wyrazić wylogowanie za pomocą następującego kodu:

public void IdentitySignout() { 
    AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie, 
    DefaultAuthenticationTypes.ExternalCookie); 
} 
0

Dla mnie właśnie usunąłem pliki cookie z Google Chrome i zadziałało.

Powiązane problemy