【问题标题】:IIS 7.5 and ASP.NET credentialsIIS 7.5 和 ASP.NET 凭据
【发布时间】:2013-11-01 15:19:25
【问题描述】:

我需要开发一个网络应用程序,用户有时需要使用不同的凭据执行操作(特别是他们是标准域用户,他们需要重置密码、解锁用户等)。 我计划创建 2 个使用特权凭据运行的服务(通过使用 ASP.NET 模拟),以及一个用户访问和调用服务的 Web 门户(通过使用 Windows 身份验证)。

在开始实施之前,我正在测试凭据,但我有点困惑...如果我使用 System.Security.Principal.WindowsIdentity.GetCurrent() 来检查凭据,它在服务 (DOMAIN\admin) 中似乎是正确的,而在门户网站 ( IIS\APPPOL\DefaultAppPool),在使用 User.Identity.Name 时在服务中返回错误的凭据(域\用户执行请求)但在门户中正确(域\用户执行请求)。

为什么User.Identity.Name 不总是返回“最终”凭据?好像有点语无伦次……是不是漏了什么?

【问题讨论】:

  • 就我个人而言,我从来没有完全理解过WindowsIdentity 的东西。相反,我使用my small little class,它也非常适用于 ASP.NET
  • @UweKeim 如果您不理解,我是否应该担心使用您的课程:-p,我开玩笑说,我一直认为一次性模拟上下文的省略是一种疏忽。
  • 请注意,如果您想使用模拟上下文在多跳的 3 个或更多服务器之间传递凭据,您需要设置 SPN 并使用 kerberos。

标签: c# asp.net iis


【解决方案1】:

使用会话而不是 User.Identity!

【讨论】:

  • 是的......很好的陈述......你能更好地解释你的意思并给我们一些理由吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 2011-08-01
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
相关资源
最近更新 更多