[英]ASP.NET Membership Get logged on user
我已经定义了一个用户名,并将其添加到角色中。
现在,我使用此代码检查用户是否有效:
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 = "";
}
之后,如果用户在某个角色,我想查看Products.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
。
让我知道如果这样做,我已经在=)之前混淆了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.