Roles.IsUserInRole(User.Identity.Name,"domain\group")通过登录屏幕提示用户



我不确定这是否是设计的,但对我来说似乎有点奇怪。或者充其量,机器之间的行为是不一致的。我有一个web应用程序,只有当网站上的人是某个AD组的成员时,它才会显示一个按钮。这是代码:

    <td id="search-box">
        @Using Html.BeginForm()
            @Html.TextBox("SearchString", ViewBag.CurrentFilter)
           @<input class="fancyButton" type="submit" value="Search" title="Job Name"/>
            If Roles.IsUserInRole(User.Identity.Name, "mydomainmygroup") Or Roles.IsUserInRole(User.Identity.Name, "mydomainmygroup2") Then
                @<input type="button" class="fancyButton" onclick="parent.location = '@Url.Action("Create")'" value="New"/>
            End If
        End Using
    </td>

我的id是群组"mygroup"的一部分。所以在我的机器上,当我打开网站时,它工作得很好。此时将显示按钮,并且"创建记录"页面将正确显示。然而,当mygroup2的另一个用户试图查看该应用程序时,尽管出现了按钮,但当他们点击该按钮时,系统会提示他们输入用户ID和密码。我不知道为什么会这样。

当您在独立于开发机器的服务器上部署到IIS时,这种行为是否保持不变?它可能更多地与应用程序池标识有关,而不是与经过身份验证的用户帐户有关。部署到单独的计算机可以帮助隔离问题的原因并确定身份验证提示的来源。

相关内容

最新更新