簡體   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