表单身份验证问题丢失了当前用户

时间:2011-04-29 20:48:53

标签: c# asp.net security forms-authentication

我正在使用asp.net和c#进行表单身份验证。只有具有WenAdmin角色的用户才能访问子目录“Admin”。我能够创建一个具有此角色的用户。登录后,他可以执行Admin目录中的所有功能。别人不能。这一切都正常。

Admin目录中的web.config包含行

<authorization>
            <deny users="?"/>
            <allow roles="WebAdmin"/>
            <deny users="*"/>
        </authorization>

Admin页面的代码隐藏的每个段落都有

[PrincipalPermission(SecurityAction.Demand, Role = "WebAdmin")]

登录使用代码

建立当前用户
FormsAuthentication.RedirectFromLoginPage(MyLogin.UserName, MyLogin.RememberMeSet);

当Admin用户创建不是Admin用户的新用户时,我遇到了唯一的问题。执行此操作后,该程序似乎忘记了这是一个管理员用户,他强行再次登录。我不想这样做。创建新用户的代码是:

 MembershipUser newUser = Membership.CreateUser(CreateUserWizard1.UserName,CreateUserWizard1.Password);

如果可以,请帮助我。

1 个答案:

答案 0 :(得分:1)

从您的代码中我看到您正在使用创建用户向导控件。 确保asp.net没有尝试将新用户登录到系统中:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.createuserwizard.logincreateduser.aspx

将此属性设置为false。