Configurando FormsAuthentication após autenticação SSO
Meu aplicativo ASP.NET MVC 4 é protegido por SSO (OAM) com um filtro ISAPI em execução no IIS. Quando uma solicitação para o meu aplicativo é recebida, ela é interceptada pelo filtro ISAPI e redirecionada para o SSO. O usuário precisa fazer login no SSO e depois retornar ao meu aplicativo.
O nome de usuário do usuário autenticado (via SSO) é compartilhado com meu aplicativo nos Cabeçalhos de Solicitação HTTP.
Request.Headers["username"]
O que estou tentando alcançar é- após autenticação SSO, definindoFormsAuthentication
dentro do meu pedido deusername = Request.Headers["username"]
. Dessa forma, o SSO permanece transparente para o meu aplicativo e a Identidade do usuário está disponível no objeto HttpContext. Além disso, eu (desenvolvedor) poderia efetivamente utilizar o atributo Autorizar para funções específicas.
Para conseguir isso, eu conectoSession_Start()
, lerRequest.Headers["username"]
, DefinirFormsAuthentication
biscoito. E recebo esse usuário SSO Forms-Authenticated para meu aplicativo.
Mas meu problema é quando eu sair (FormsAuthentication.Signout
), Redireciono-o para outra página dentro do aplicativo, que aciona uma nova sessão (posso ver o Session_Start sendo acionado quando isso acontecer)
Estou fazendo a coisa certa - FormsAuthentication após SSO? E, se não, por que não e como faço para tornar meu aplicativo ciente do usuário autenticado por SSO?