我需要开发一个Web应用程序,用户有时需要使用不同的凭据执行操作(特别是他们是标准域用户,他们需要重置密码,解锁用户等)。 我计划创建2个使用特权凭证(使用ASP.NET模拟)运行的服务,以及用户访问和调用服务的Web门户(使用Windows身份验证)。
在开始实施之前,我正在测试凭据,但我有点困惑......如果我使用System.Security.Principal.WindowsIdentity.GetCurrent()
来检查凭据,那么在服务(DOMAIN \ admin)中似乎是正确的,而在门户网站(IIS \ APPPOL \ DefaultAppPool),而使用User.Identity.Name
返回服务中的错误凭据(DOMAIN \用户正在执行请求)但在门户网站中正确(DOMAIN \用户正在执行请求)。
为什么User.Identity.Name
始终没有“最终”凭证?这看起来有点不连贯......我错过了什么吗?
答案 0 :(得分:-1)
使用session而不是User.Identity!