2010-04-29 7 views

Respuesta

3

Si no tiene la membresía configurada para su sitio, getuser() no cederá nada.

Context.user es el token de identidad entregado al tiempo de ejecución de asp.net, y generará un usuario si se configura cualquier autenticación aparte del acceso anónimo para el sitio.

+0

Suena como si dijera que Membership.GetUser() obtendrá al usuario de la membresía (lo que es obvio), mientras que Context.User obtendrá al usuario de un ámbito más amplio: cualquier cosa. Por lo tanto, usar la autenticación de Windows, por ejemplo, no produce nada de Membership.GetUser(), pero SI le otorga al usuario de Windows Context.User. (Y este parece ser el caso de una prueba rápida). En ese caso, ¿qué se recomienda si definitivamente está utilizando un proveedor de Membresía? – zimdanen

+0

The MembershipProvider, en mi experiencia; se usa principalmente cuando necesita flexibilidad en su autenticación, incluso puede tener un XMLMembershipProvider si es necesario. Si está utilizando la autenticación basada en formularios, un proveedor de membresía es probablemente la forma más sencilla de hacerlo. – Pierreten

+0

Mirando más profundamente en él, parece que Context.User realmente da información mínima. Creo que tienes razón acerca de la Membresía.GetUser(). Por otra parte, puede haber una resistencia a la eficiencia de usar Membership.GetUser() si todo lo que necesita es información que puede obtener de Context.User. – zimdanen

3

Membership.GetUser implica el uso de un MembershipProvider. Simplemente recupera información del usuario de cualquier tienda que esté configurada. (por ejemplo, ActiveDirectory, SQL Server). Context.User es el contexto de seguridad IPrincipal para la Solicitud actual.

Cuestiones relacionadas