【问题标题】:.NET: User.IsInRole not working from within Visual Studio.NET:User.IsInRole 不能在 Visual Studio 中工作
【发布时间】:2013-08-29 03:09:30
【问题描述】:

我有一个使用 Windows 身份验证的 .NET MVC 4 应用程序。我想检查用户是否是特定 Active Directory 组的成员,如果是,则显示一个附加菜单选项:

            if(User.IsInRole("WellnessAdmins"))
            {
                <li>
                    <b>@Html.ActionLink("Admin","Admin","Home")</b>
                </li>
            }

当部署到服务器时,这工作正常;显示管理员链接。但是,当我从 Visual Studio 启动应用程序时,不会显示 Admin 链接。我的本地计算机和服务器在同一个域上。为什么会有这种奇怪的行为?

【问题讨论】:

    标签: .net asp.net-mvc-4 active-directory windows-authentication roles


    【解决方案1】:

    如果您使用的是 IIS Express,请确保您在项目的属性中启用了 Windows 身份验证并禁用了匿名身份验证:

    【讨论】:

    • 我已经切换到 IIS Express 并应用了这些设置,现在看来 IIS Express 根本无法获取用户的身份。 User.Identity.Name 为空,但再次部署到 IIS 7 时一切正常。
    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 2019-11-08
    相关资源
    最近更新 更多