Owin Challenge, прервать выполнение другого кода и немедленно перенаправить - PullRequest
0 голосов
/ 06 октября 2018

В настоящее время я пытаюсь интегрировать SSO аутентификации на основе Cookies Owin в существующий проект Webforms.Это веб-приложение, которое требует, чтобы пользователь всегда входил в систему, поэтому пользователь, пытающийся загрузить любую страницу, должен автоматически отправляться на внешний экран входа в систему единого входа.

Способ, которым я сейчас занимаюсь, заключается в следующем:добавив событие PreLoad в мастер-страницу, потому что попытка запустить его в OnInit вызвала исключения, и это должно произойти до того, как Page_Load.заканчивает загрузку запрашиваемой страницы, включая выполнение всего кода, до того, как она выполнит перенаправление.

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

Раньше это не было проблемой, поскольку в проекте использовался Auth Forms, который прерывал выполнение кода, чтобы перенаправить вас вместопусть это продолжается.

«Трудное» решение здесь состоит в том, чтобы просмотреть мой код, перейти на каждую страницу и добавить код, который останавливает выполнение, если запрос не прошел проверку подлинности, загружая мертвую страницу, которая перенаправляет немедленно,но это потребует значительных усилий.

Итак, мой вопрос таков.Есть ли способ заставить Овина выполнить немедленное перенаправление с прерыванием рабочего процесса, чтобы я мог получить отказ в процессе входа в систему без выполнения всего кода на странице?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...