gpt4 book ai didi

c# - 角色.IsUserInRole

转载 作者:行者123 更新时间:2023-11-30 17:05:46 28 4
gpt4 key购买 nike

我按如下方式将用户添加到角色(请注意,我在我的机器上运行下面显示的代码):

    Roles.AddUserToRole(oMU.UserName, "Role1");

使用以下代码我检查用户是否在该角色中:

    if (Roles.IsUserInRole(txtUserName.Text.Trim(), "Role1"))  

并且用户确实在这个角色中。

我运行以下命令来检查当前登录的用户是否在 Role1 中,但它无法输入 if 语句 - 为什么? :

     if (User.IsUserInRole("Role1"))
{
// does not enter this code
}

最佳答案

您不能调用 Roles.IsUserInRole("Role1")

一旦用户被分配到这样的角色 -

Roles.AddUserToRole(oMU.UserName, "Role1");

为什么?

IPrincipal 对象 仅在 Application_AuthenticateRequest 上注入(inject)到 HttpContext.Current.User

因此,您必须等待下一个请求才能访问 Roles.IsUserInRole("Role1")

已更新

确保 cacheRolesInCookie 设置为 false,因为它有一些问题。

<roleManager enabled="true" cacheRolesInCookie="false" 
defaultProvider="DefaultRoleProvider">
....
</roleManager>

关于c# - 角色.IsUserInRole,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111886/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com