我定义了一个用户名,并将其添加到一个角色中。
现在,我使用以下代码来检查用户是否有效:
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"));
}
我的代码有什么问题?我该如何检查已登录用户是否属于特定角色?