【问题标题】:Possible to authenticate/retrieve user on intranet when set to Forms authentication?设置为表单身份验证时可以在 Intranet 上验证/检索用户吗?
【发布时间】:2014-03-20 21:33:14
【问题描述】:

我有一个将在我们公司的 Intranet 上运行的 asp.net MVC 应用程序。我想检索用户的登录/Windows 身份来代替登录页面。使用 Current.Request.LogonUserIdentity.Name 并在我的本地 Visual Studio(ASP.Net 开发服务器)上运行,我能够检索用户的域/用户名。当发布到我的 Intranet 网络服务器(IIS 7)时,我只能检索运行我的应用程序池的服务的用户名。是否有可能使用表单身份验证让我能够检索已登录的用户?我发现的许多讨论都建议切换到 Windows 身份验证……目前这对我来说不是一个选择。我当前的身份验证是表单:

<authentication mode="Forms">
  <forms loginUrl="~/User/Logon" timeout="2880" />
</authentication>`

我的 IIS 启用了匿名、模拟和表单身份验证。

【问题讨论】:

  • 我建议从不使用内置的开发服务器(cassini),真的很垃圾,所以切换到IIS Express。
  • 迂回的说不,不可能吧?
  • 哦,不,实际上完全有可能,互联网上有许多文章和问题,在这个网站上有有效的答案。在提出重复问题之前,删除此问题并使用 Stack Overflow 搜索功能可能符合您的最大利益。

标签: c# asp.net-mvc authentication iis


【解决方案1】:

你试过Thread.CurrentPrincipal.Identity吗?

【讨论】:

  • 感谢您的帮助,钦塔纳。不幸的是,这只返回我“”。我也尝试过 Request.ServerVariables["logon_user"] 和 User.Identity.Name。我将考虑切换到 Windows 身份验证,因为这似乎是让它工作的必经之路。
  • 这很有趣.. 通常只有匿名用户的用户名是空白的。但是在您的情况下,用户是通过表单身份验证处理程序进行身份验证的。无论如何;对不起,我不能帮助你,伙计..希望你在 Windows auth 方面有更好的运气
猜你喜欢
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多