繁体   English   中英

ASP.NET成员身份登录用户

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM