Настройка файла web.config для проверки, установлен ли файл cookie - PullRequest
1 голос
/ 21 февраля 2012

Я бы хотел настроить мой файл web.config для перенаправления на login.cshtml, если cookie не установлен.Как я могу это сделать?То, что я имею в данный момент, - это поведение, которое я тоже не понимаю.У меня есть:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <system.web>
        <authentication mode="Forms">
            <forms loginUrl="Login.cshtml" name=".ASPXFORMSAUTH">
            </forms>
        </authentication>
        <authorization>
             <deny users="?" />
        </authorization>
    </system.web>
</configuration>

Что происходит, если пользователь перенаправляется на

"Account/Login ReturnUrl=%2fdefault.cshtml"

Итак, создается файл default.cshtml со странной страницей входа в систему, расположенной по центру?Вероятно, это связано со структурой моей программы, но я не совсем понимаю, как вызывается, что может сделать этот странный HTML?

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

loginUrl должен быть путем, который приведет вас к представлению входа в систему, как если бы вы пытались перейти к нему через веб-браузер.Что, если бы я догадался, было бы что-то вроде mywebsite.com/Account/Login.Таким образом, соответствующий код в web.config будет

<forms loginUrl="~/Account/Login" name=".ASPXFORMSAUTH">
</forms>

Это будет основано на маршрутах по умолчанию и так далее.Если на вашем сайте были изменены маршруты и / или просмотр переопределений движка, вы можете столкнуться с другим поведением.

0 голосов
/ 22 февраля 2012

Я думаю, что проблема заключается в том, что вы ссылаетесь на «Login.cshtml» в loginURL, который является представлением. В MVC вы не направляете пользователя к представлению (которое выбрано в контроллере). Вы должны указать пользователю путь / контроллер / действие. Как упомянуто в другом посте здесь, это обычно «~ / Account / Login», если вы используете стандартный шаблон проекта (тильда, указывающая корень приложения).

...