3

我在 MVC 4 中有一个网站,在 IIS7 上运行 .net 4.5,例如:www.mysite.com 和一个文件夹 www.mysite.com/admin

www.mysite.com 使用表单身份验证并允许某些页面匿名,我希望 www.mysite.com/admin 使用窗口身份验证。

我在 IIS 安全性中设置了该文件夹以使用窗口身份验证(它不是 IIS 中的应用程序)

在我的管理控制器中,我需要从域中捕获用户名,它始终为空,代码如下:

   WindowsIdentity winId = WindowsIdentity.GetCurrent();         
  if (winId != null)
  {
   string name = winId.Name;        
  }

User.Identity.Name 也是空的请让我知道我错过了什么。

我确信这是很常见的事情,无法弄清楚为什么它不能与 MVC 一起使用,我有使用 Web 表单的旧站点并且具有相同的设置并且它正在工作。

提前致谢

4

1 回答 1

3

如果您对页面使用 Windows 身份验证,请尝试以下操作,看看它是否有任何数据。听起来您可能已经尝试过了,但我没有看到包含的 Page 对象。

确保您的 web.config 启用了 Windows 身份验证。

<authentication mode="Windows">
     </authentication>

字符串用户 = Page.User.Identity.Name;

希望这会有所帮助我可能会研究内置的角色和会员功能,我不熟悉您向我道歉的路线。

http://www.codeproject.com/Articles/342061/Understanding-ASP-NET-Roles-and-Membership-A-Begin

于 2013-03-28T00:53:29.370 回答