1

我有一个使用Windows身份验证的.NET MVC 4应用程序。我要检查用户是否是一个特定的Active Directory组的成员,如果是的话,显示额外的菜单选项:.NET:User.IsInRole在Visual Studio中不工作

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

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

回答

2

如果您使用的是IIS快递确保您已启用Windows身份验证和禁用匿名身份验证在你的项目的性质:

enter image description here

+0

我已经切换到IIS Express和应用这些设置,现在似乎IIS Express根本无法获得用户的身份。 User.Identity.Name是空的,但再次部署到IIS 7时,一切正常。 –