Pergunta

Eu tenho configurado alguns dos meus aplicativos para usar a Fundação de Identidade do Windows. Eu uso o redirecionamento passivo para obter tokens de segurança de um serviço de token de segurança. Consegui isso inserindo o código WIF em um site de logon que existia antes de começar a usar o WIF e depois usar a "Adicionar referência STS" nos aplicativos.

No entanto, tenho um aplicativo que não usa o site de logon. Eu acho que o que eu gostaria de fazer é gerar o token de segurança dentro do próprio aplicativo sem redirecionar o usuário para um STS externo.

Tentei, sem sucesso, fazer isso usando a classe reivindicante de autenticação que pode ser usada para adicionar reivindicações adicionais a um token de segurança recebido de um STS externo. No entanto, a reivindicação do manager não funciona nesse contexto. Em vez de chamar reivindicações de autenticação apenas um único tempo por sessão (o resultado esperado e desejado), ele é chamado em cada página de página sem sinal das reivindicações que eu atribuí ao usuário no carregamento da página anterior.

Estou pensando em criar um STS externo que dará ao usuário as reivindicações de um banco de dados, mas vejo isso como um risco. Parece não haver razão de eu devo criar um STS separado para apenas um único site. Eu gostaria de apenas gerar o token de segurança dentro do meu aplicativo.

Foi útil?

Solução

É possível colocar a classe de serviço de segurança em seu próprio aplicativo.

No entanto, para que o usuário possa acessar uma página de login em seu aplicativo antes de obter o token, você deve remover o deny users=? de Authorization Seção do web.config. Isso permitirá que os usuários atinjam sua página da web sem token de segurança. Depois de fazer login, redirecione -os para a página apropriada.

Isso tem a desvantagem de não ser capaz de usar a conveniente funcionalidade de redirecionamento passivo, mas funciona. Isso significa que você deve redirecionar manualmente os usuários para a página de login quando eles tentam fazer algo que exige que eles sejam conectados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top