sqlserver/System.Data.SqlClient.SqlException (0x80131904): 用戶 'NT AUTHORITY\IUSR' 登錄失敗,如何修復

本人最近學習XAF框架項目,在本地運行可以連接到數據庫,發佈後無法連接,拋出用戶 'NT AUTHORITY\IUSR' 登錄失敗

問題截圖:

 

 

問題原因:

數據庫連接使用的window身份驗證時,Web用來模擬IIS驗證賬戶,如果沒有指定用戶名,所以默認就用 NT AUTHORITY\IUSR 

數據庫連接是這樣的(XAF項目默認生成的,是window身份驗證登陸的,也就是我下面的用戶、密碼不起作用)

 <!--本地數據庫時,使用 -->
 <add name="ConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=.;Initial Catalog=XAF_221225;User ID=sa;Password=sa" />

問題解決方式

方式一:使用sa用戶密碼驗證(數據庫連接有問題,是window身份驗證)

 <!-- 本地數據庫時,使用-->
 <add name="ConnectionString" providerName="System.Data.SqlClient" connectionString="Pooling=false;Data Source=.; Initial Catalog=XAF_221225;User ID=sa;Password=sa"/>

方式二:使用window身份驗證登陸(修改對應NT AUTHORITY\IUSR 用戶權限

1)創建用戶"NT AUTHORITY\IUSR"

   打開SQL Server Management Studio -> Security -> Logins -> 右鍵 New Login... -> Login name 填入 NT AUTHORITY\IUSR -> OK

 

2) 對用戶“NT AUTHORITY\IUSR”賦權限

在新建的用戶 NT AUTHORITY\IUSR 上點擊右鍵屬性 Properties -> Server Roles 選中 public sysadmin -> User Mapping 選中你的數據庫,在 Default Schema 列填入 dbo -> OK 搞定

 

 

 

 

 PS:

參考網址:https://www.bbsmax.com/A/gAJGB2b3zZ/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章