¿Tiene LoginCreatedUser="false"
o DisableCreatedUser="true"
en su CreateUserWizard
?
Los evitará que el usuario se registre en forma inmediata, y causar Membership.GetUser()
para volver nula, debido a que el usuario no está conectado en ese momento.
Si desea que el usuario puede registrar en forma inmediata, ni establecer o ambos LoginCreatedUser="true"
y DisableCreatedUser="false"
en su CreateUserWizard
. Eso debería hacer funcionar tu código actual.
FormsAuthentication.SetAuthCookie()
establece una cookie del navegador para iniciar la sesión del usuario. Es lo que mantiene al usuario conectado cada vez que se publica una página en el servidor. createPersistentCookie
crea una cookie persistente que no caduca cuando el navegador está cerrado, por lo que el usuario puede volver al sitio y iniciar sesión automáticamente. Debe basarse en si el usuario marcó la casilla "Recordarme" en su formulario de inicio de sesión. No está disponible en el formulario CreateUserWizard
de forma predeterminada, pero puede agregar una casilla de verificación en su plantilla, si lo desea.
Si no desea que el usuario inicie sesión automáticamente, elimine la línea FormsAuthentication.SetAuthCookie()
de su código y establezca las propiedades CreateUserWizard
de forma adecuada. Si desea aprobar a los usuarios antes de que puedan iniciar sesión, configure DisableCreatedUser="true"
. Esto evitará que inicien sesión hasta que configure el usuario IsApproved=true
desde el módulo .Net Users en el Administrador de IIS, o que tenga una página web personalizada para aprobar a los usuarios.
fijas que se pueden establecer añadir el usuario a la función apropiada cuando se crea el usuario sin necesidad de registrarlos en:
if (!Roles.IsUserInRole(RegisterUser.UserName, "Test"))
{
Roles.AddUserToRole(RegisterUser.UserName, "Test");
}
Creo que el proveedor de membresía predeterminado no comprueba la cookie cada vez que verifica el usuario conectado, sino que la verifica durante la etapa anterior de procesamiento de solicitud. null para la misma solicitud que 'SetAuthCookie', pero la siguiente solicitud lo verá el usuario. Creo que esto es retrasado y estoy buscando una manera simple de evitarlo ... – bambams