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

时间:2012-08-01 14:15:31

标签: asp.net-mvc windows authentication razor iis-7

我不确定这是否符合设计但对我来说似乎有些奇怪。或者充其量,这些行为在不同的机器上是不一致的。我有一个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, "mydomain\mygroup") Or Roles.IsUserInRole(User.Identity.Name, "mydomain\mygroup2") Then
                @<input type="button" class="fancyButton" onclick="parent.location = '@Url.Action("Create")'" value="New"/>
            End If
        End Using
    </td>

我的ID是“mygroup”组的一部分。所以在我的机器上,当我打开网站时,它工作正常。出现按钮,正确显示“创建记录”页面。 但是,当mygroup2的另一个用户尝试查看应用程序时,虽然按钮出现,但当他们点击它时,系统会提示他们输入用户ID和密码。 我不确定为什么会这样。

1 个答案:

答案 0 :(得分:0)

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