繁体   English   中英

ASP应用程序中的WindowsIdentity始终返回NT AUTHORITY \\ SYSTEM

[英]WindowsIdentity in asp application always returns NT AUTHORITY\SYSTEM

过去几天,我已经阅读了很多关于如何在asp应用程序(使用devexpress xaf开发)中获取当前用户的建议,但是到目前为止,对我来说没有任何帮助。 的返回值

WindowsIdentity.GetCurrent().Name

始终为NT AUTHORITY \\ SYSTEM。 我想建议,像这种并在DevExpress的论坛上发现一对夫妇。

我以为应该工作的是

  • 将我的应用程序的Web.config设置为

包括

  <system.web>
    <authentication mode="Windows" />
    <identity impersonate="true" />
    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>
  </system.web>

(我也尝试将上面的人工翻译设置为false,但没有更改)

  • 在IIS中设置我的网站以使用Windows身份验证 在此处输入图片说明

    • 像这样设置应用程序池

在此处输入图片说明

但是结果始终是NT AUTHORITY \\ SYSTEM。

由于“ NT AUTHORITY \\ SYSTEM”是“ Builtin \\ Administrator”的成员,因此默认情况下授予SYSADMIN服务器角色。 默认情况下,本地系统帐户是本地Administrators组的成员,因此是SQL Server中sysadmin组的成员。

要启用模拟,请在web.config中为identity元素设置impersonate =“ true”。

<system.web>
  <identity impersonate="true" />
</system.web>

还可以从IIS启用或禁用模拟。

  1. 在IIS中选择Web应用程序
  2. 双击“身份验证”图标
  3. 选择ASP.NET模拟
  4. 单击IIS右侧面板中操作下的“禁用”或“启用”链接。
  5. 这将自动更改web.config文件。

将DefaultAppPool的“托管管道模式”设置为“经典”。

运行该应用程序,并注意,现在使用“ NT AUTHORITY \\ IUSR”帐户而不是“ IIS APPPOOL \\ DefaultAppPool”执行了应用程序代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM