Pergunta

Código MSDN Descrição da amostra: O exemplo do código a seguir usa a propriedade isautenticada para determinar se a solicitação atual foi autenticada. Se não foi autenticado, a solicitação será redirecionada para outra página em que os usuários podem inserir suas credenciais no aplicativo da Web. Esta é uma técnica comum usada na página padrão para um aplicativo.

Isso é ótimo, mas sem detalhes ou algo assim ...

O que exatamente está checando? Como faço para defini -lo como verdadeiro?

Vá a milha extra: onde eu encontraria uma documentação mais detalhada sobre isso?

Foi útil?

Solução

Graças ao Google, encontrei uma versão em cache do post @Keyboardp refere -se em sua resposta. Estou postando essa resposta/post aqui como uma referência para outros, já que o link original está quebrado (2012-12-06).

Pergunta original que a resposta abaixo se refere a:

Eu tenho um aplicativo baseado em formulários que está me dando ajustes. Percebi que, em um local onde a propriedade isautenticada era verdadeira, agora era falsa e não estava funcionando como esperado. Estou me perguntando se tenho um cenário que seja inválido ??

Alguém pode me dizer o que define a propriedade isauthenticada para True-o que constitui login.

Resposta de Daniel Kent:

Request.IsAuthenticated não é apenas para a autentciação de formulários - é válido, independentemente do tipo de autenticação que esteja sendo usada (Windows, Passport, Forms ou nosso próprio esquema personalizado)

HttpRequest.IsAuthenticated Será verdade quando o usuário que faz a solicitação for autenticado. Essencialmente, esta propriedade fornece as mesmas informações que Context.User.Identity.IsAuthenticated.

No início de um pedido, Context.User.Idenity contém a GenericIdentitycom um nome de usuário nulo. o IsAuthenticated A propriedade para este objeto retornará false assim Request.IsAuthenticated vai ser false. Quando um módulo de autenticação lida com o Application_AuthenticateRequest evento e sucesso autentica o usuário que substitui o GenericIdentity dentroContext.User.Identity com um novo IIdentity objeto que retornará true de seu IsAuthenticated propriedade. Request.IsAuthenticated então voltará true.

No caso de autenticação de formulários, o módulo de autenticação de formulários usa o ticket de autenticação criptografada contida no cookie de autenticação para autenticar o usuário. Depois de fazer isso, substitui oGenericIdentity dentro Context.User.Identity com um FormsIdentity objeto que retorna True de seu IsAuthenticated propriedade.

Então, configuração IsAuthenticated para true é realmente diferente de fazer login. Como Jeff diz, o login nos formulários é a autenticação quando o ticket de autenticação é gerado e enviado ao cliente como cookie. (RedirectFromLoginPage ou SetAuthCookie) Do que estamos falandoIsAuthenticated é autenticação que acontece com cada solicitação de página. O login acontece quando um usuário insere suas credenciais e recebe um ingresso, a autenticação acontece com cada solicitação.

Outras dicas

Há um post bastante detalhado de Daniel Kent aqui. (Snippet)

Request.isauthenticated não é apenas para formulários autentciation - é válido, independentemente de que tipo de autenticação esteja sendo usado (Windows, Passport, Forms ou nosso próprio esquema personalizado)

Httprequest.isauthenticated será verdadeiro quando o usuário que faz a solicitação for autenticado. Essencialmente, essa propriedade fornece as mesmas informações que o context.User.Identity.isAuthenticished.

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