Настройка FormsAuthentication после аутентификации SSO
Приложение ASP.NET MVC 4 защищено системой единого входа (OAM) с фильтром ISAPI, работающим на IIS. Когда запрос к моему приложению получен, он перехватывается фильтром ISAPI и перенаправляется на SSO. Пользователь должен войти в систему единого входа, после чего он возвращается в мое приложение.
Имя пользователя аутентифицированного пользователя (через SSO) совместно с моим приложением в заголовках HTTP-запросов.
Request.Headers["username"]
Чего я пытаюсь добиться, так это- после аутентификации SSO, настройкаFormsAuthentication
в моей заявке наusername = Request.Headers["username"]
, Таким образом, SSO остается прозрачным для моего приложения, и личность пользователя доступна в объекте HttpContext, плюс я (разработчик) мог бы эффективно использовать атрибут Authorize для определенных ролей.
Чтобы добиться этого, я подключаюсь кSession_Start()
, читатьRequest.Headers["username"]
, ЗадаватьFormsAuthentication
печенье. И я получаю этого SSO пользователя Forms-Authenticated для моего приложения.
Но моя проблема когда я выхожу (FormsAuthentication.Signout
), Я перенаправляю его на другую страницу внутри приложения, которая запускает новый сеанс (я вижу запуск Session_Start, когда это происходит)
Правильно ли я делаю - FormsAuthentication после SSO? И если нет, то почему, а затем, как я могу сообщить своему приложению о пользователе, прошедшем аутентификацию SSO?