2015-06-08 2 views
0

С WebForms У меня нет проблем с проверкой подлинности форм, но это дает мне горе в MVC 5MVC 5 - син авторизации с проверкой подлинности форм

Добавлено Secure районам, то Landing и Войти

MVC areas

В главном файле web.config добавлено это под system.web (также варианты, как ~/Secure/Login)

<authentication mode="Forms"> 
    <forms loginUrl="Secure/Login" /> 
</authentication> 

И суб файл web.config (под безопасным) это (извините отступа не будет работать так, используемый фрагмент кода)

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

Но по какой-то причине он не работает.

+0

официальный ответ Microsoft является то, что вы не можете защитить приложение MVC через web.config. Вы должны авторизовать атрибуты или другие атрибуты AuthenticationFilters. http://weblogs.asp.net/jongalloway/asp-net-mvc-authentication-global-authentication-and-allow-anonymous –

+0

Я больше беспокоюсь о поиске способа перенаправления на страницу входа в систему - могу добавить над классом в контроллере, но я не хочу, чтобы пользователи попадали в 401.0 – gchq

+0

. Если вы удалите разделы авторизации из своей конфигурации и следуете рекомендациям в статье, на которую я ссылаюсь, у вас не будет проблем. –

ответ

0

Добавлено это Startup.Auth и она прекрасно работает

app.UseCookieAuthentication(New CookieAuthenticationOptions() With {.LoginPath = New PathString("/Secure/Login")}) 
Смежные вопросы