ASP.获得登录用户
本文关键字:用户 登录 ASP | 更新日期: 2023-09-27 18:12:00
我已经定义了一个用户名,并将其添加到角色中。
现在,我用下面的代码来检查用户是否有效:
if (Membership.ValidateUser(txtUsername.Text, txtPassword.Text)) {
FormsAuthentication.SetAuthCookie(txtUsername.Text, false);
if (Roles.GetRolesForUser(txtUsername.Text).Any(role => role == "Admin")) {
Page.Response.Redirect(ResolveUrl("~/Admin/Products.aspx"));
}
txtUsername.Text = "";
}
之后,我想检查产品。Aspx页面显示用户是否在角色中。我写了这段代码,但它返回我的本地Windows用户名:
Context.User.Identity.Name
我认为应该返回登录用户。
之后,我将使用以下代码进行检查:
if (!Context.User.IsInRole("Admin"))
{
Response.Redirect(ResolveUrl("~/Default.aspx"));
}
我的代码有什么问题?如果登录用户处于特定角色,我如何检查这一点?
是否将authentication-mode
设置为Forms
?
web . config:
<authentication mode="Forms">
</authentication>
你应该用Page.User.Identity.Name
代替Context.User.Identity.Name
我相信你只需要使用Page.User.Identity.Name
,而不是Context
。
让我知道,如果这样做了,我以前犯过这个错误=)