Пока не авторизуется открывать одну и ту же страницу сайта

105
06 августа 2019, 01:30

Есть приложение на asp.net mvc. При создании приложения выбрал тип аутентификации No Authentication. Хочу использовать аутентификацию форм. Мне нужно что бы приложение всегда стартовало с одной и той же страницы. Даже если я из visual studio открываю на редактирование другую view и запускаю проект, всё равно перенаправлялось на дефолтную страницу. Нашёл что нужно написать в web config что бы так работало приложение.

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

Написал это в web config. У меня например есть 2 страницы регистрация и авторизация. Я выбираю на редактирование в visual studio view за которую отвечает другой метод этого же контроллера /Authorization/Registration запускаю приложение и у меня запускается страница регистрации. То есть не срабатывает переадрессация на страницу авторизации. Подскажите пожалуйста что я делаю не так? Как нужно сделать так что бы срабатывала переадрессация?

Answer 1

мне нужно что бы приложение запускалось всегда с одной и той же страницы пока человек не авторизуется

Воткните в каждый экшн первой строкой код вида:

if (user==null || !user.Identity.IsAuthenticated)
    return this.RedirectToAction("Index", "Home");

Если такое поведение вас устраивает - можете написать кастомный фильтр, в который вынести эту проверку, чтобы не писать каждый раз.

READ ALSO
Альтернатива Stream.DataAvaiable в SSLStream C#

Альтернатива Stream.DataAvaiable в SSLStream C#

Я пишу простой чат на tcp, я уже сделал отправку и прием сообщений, решил переделать в защищенную версию, сделал простое криптографическое...

121
Ошибка при обращении SslStream

Ошибка при обращении SslStream

Вот Ошибка: Эта операция допустима только при использовании контекста, подлинность которого успешно подтвержденаВот Код Сервера:

120
RunOnUiTread() вылетает приложение

RunOnUiTread() вылетает приложение

Проблема с потокамиПытаюсь изменить UI часть путем добавления сообщения к textView5

101
Почему не сообщает о попадании

Почему не сообщает о попадании

подскажите почему не пишет в консоль что попалвот скрипт ` void Update() {

140