我正在ASP.NET和C#中开发一个网站。Windows身份验证在服务器上不起作用
我当用户访问该网站创建的网站,所以,他的Windows客户端的用户名与读出:
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
,然后我查找他的用户名在数据库中,并创建一个用户对象来自返回数据的所有必要数据(团队,名称,权限级别,角色......)。 然后我将这个对象保存在一个会话var直到用户注销。
这是工作就像一个魅力本地,但现在,我已经部署到服务器上,我得到defaultAppPool
为每一位用户。
我在做什么错?
在我的web.config文件中我有:
authentication mode="Windows"
我不得不承认,这是第一次,我做了部署自己,一切都进行得很顺利,除了这一点。
您是否还配置了IIS以使用Windows身份验证(并禁用匿名)? –
真的很抱歉,但这真是一个非常愚蠢的错误。 System.Security.Principal.WindowsIdentity.GetCurrent()。Name.ToString(); 需要为 HttpContext.Current.User.Identity.Name; 这给了我正确的用户名。 – Jelle