关于 HttpContext.Current.User.Identity.Name="" 的问题

环境:Windows Server 2012,Visual Studio 2015,ASP.NET MVC


最近在做一个项目的时候,本来是项目已经完成了的,然后用户提出,他们在用的时候,每次有新用户要用到该系统的时候都要去用户管理里面添加一个用户,这样不方便,可不可以用已有的AD账号,根据登陆电脑的用户直接登陆系统,不用输密码,这样方便点。

然后。。。

就出现标题的这个问题了

HttpContext.Current.User.Identity.Name = ""

 代码拿到的HttpContext.Current.User.Identity.Name是空的

原因:

        没有开启Windows身份验证

那么怎么开始Windows身份验证?

分两种情况

1、在VS开发,选中项目 按F4,然后开启 [Windows身份验证],关闭 [匿名身份验证],如图

关于 HttpContext.Current.User.Identity.Name="" 的问题

2、IIS部署,也是一样的,在身份验证里面 开启 [Windows身份验证] 和关闭 [匿名身份验证],看图

关于 HttpContext.Current.User.Identity.Name="" 的问题

关于 HttpContext.Current.User.Identity.Name="" 的问题


然后,就是在代码里面拿到登陆用户信息

HttpContext.Current.User.Identity.Name = PC-2023202122\Administrator