Se permissão de autenticação também contém informações sobre as funções, então por que ...?

votos
3

Q1 - razão por que motivo nativa UrlAuthorizationModule não entende papéis é devido ao fato de que os papéis informação é armazenada no objeto gerenciado implementação de IPrincipal interface, ao qual módulos nativos não têm acesso.

A) Mas se nativa UrlAuthorizationModule entende permissão de autenticação, e, portanto, pode trabalhar em conjunto com FormsAuthenticationModule , então por que não pode também trabalhar com módulo de papéis?

Ou seja, não este bilhete também contêm informações sobre o usuário papéis está em? Se assim for, então UrlAuthorizationModule poderia obter todas as informações sobre as funções do bilhete e, portanto, não precisa ter acesso a IPrincipal objeto ?!


Q2 O artigo que se segue http://www.asp.net/learn/security/tutorial-11-vb.aspx afirma:

Se um usuário anônimo visita o site, nem o FormsAuthenticationModule nem o RoleManagerModule cria um objecto principal.


A) Se a reclamação acima foi verdadeiro, então não seria então o seguinte código lançar uma exceção, pois Usuário propriedade conteria uma referência nula:

        if (User.Identity.IsAuthenticated)
            Label1.Text = user is authenticated;
        else Label1.Text = user is not authenticated;

Label1 exibe “ usuário não está autenticado ”, o que sugeriria que usuário propriedade é atribuída objeto implementar IPrincipal , mesmo se o usuário não for autenticado ?!


thanx

Publicado 19/05/2009 em 22:23
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Em relação a Q1: O que se CacheRolesInCookie seria definida como falsa, então não haveria informações suficientes para determinar os papéis.

Em relação Q2: citando http://msdn.microsoft.com/en-us/library/aa302376.aspx

"O módulo de autenticação activado é responsável pela criação de um objecto IPrincipal e armazená-la na propriedade HttpContext.User. Isto é vital, porque os módulos de autorização jusante utilizar este objecto IPrincipal, a fim de tomar decisões de autorização. Na ausência de autenticação (por exemplo , onde o acesso anônimo está habilitado no IIS e ASP.NET é configurado com), há um módulo especial não configurado que coloca um principal anônima padrão para a propriedade do usuário HttpContext.. Como resultado, HttpContext.User é sempre não-nula após a autenticação ".

Respondeu 22/05/2009 em 10:49
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more