无法通过Windows身份验证获取用户:"指定的登录会话不存在。它可能已经被终止了。"

时间:2014-04-16 14:09:47

标签: c# asp.net web-services windows-authentication

我使用以下代码在C#中获取用户名。它在我的计算机上工作得非常好,但是一旦我将它部署到服务器,就会出现错误消息:“指定的登录会话不存在。它可能已经被终止。” < / p>

private bool isUserAuthenticated()
{
    return System.Web.HttpContext.Current.User.Identity.IsAuthenticated;
}

private string getUserName()
{
    return System.Web.HttpContext.Current.User.Identity.Name;
}

我的web.config文件(摘录):

<system.web>
     <authentication mode="Windows" />
</system.web>

然后我继续为IIS上的网站启用了Windows身份验证。

Screenshot of my IIS authentication screen

我错过了什么吗?可能是什么错误,我该如何解决?任何想法都非常感谢。如果您需要更多信息,请发表评论。

2 个答案:

答案 0 :(得分:0)

尝试下面提到的工作:

  1. 在Management Server上,单击“开始”,单击“运行”,键入gpedit.msc,然后单击“确定”。
  2. 在“计算机配置”下,依次展开“Windows设置”,“安全设置”,“本地策略”,然后展开“安全选项”。
  3. 在“策略”窗格中,右键单击“网络访问:不允许存储凭据或.NET Passport进行网络身份验证”,单击“属性”,单击“禁用”,然后单击“确定”。

答案 1 :(得分:0)

当系统提示您输入Windows凭据时,您应该使用:

服务器名\用户名 密码

而不是:

用户名 密码