我正在使用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);
如果可以,请帮助我。
答案 0 :(得分:1)
从您的代码中我看到您正在使用创建用户向导控件。 确保asp.net没有尝试将新用户登录到系统中:
将此属性设置为false。