運行MVC框架后可能會提示“用戶 'IIS APPPOOL\IdealTest' 登錄失敗”
詳細堆棧信息如下
說明: 執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Data.SqlClient.SqlException: 用戶
'IIS APPPOOL\IdealTest'
登錄失敗。
源錯誤:
行 31: {
行 32:
var
query =
from
user
in
container.T_SYSTEM_USER
where
user.USER_NAME == username
select
user;
行 33:
return
query.FirstOrDefault();
行 34: }
行 35:
|
經過多方查找,找到了解決方案
1.查看項目web.config文件中的數據庫連接字符串
Integrated Security=True;
//集成驗證模式
|
2.打開iis管理器,查看項目的應用程序池,確實為集成驗證模式
發現其標識列中為ApplicationPoolIdentity,問題就出在這里了
3,右鍵打開應用程序池中該項目的高級設置,將設置中的 標識 選項打開,選擇賬戶為 NetWorkService ,點擊確定,這樣iis設置就完成了
4,查看sql中用戶賬戶是否存在NetWorkService,方法:
1)打開sql管理器,選擇,【安全性】-【登錄名】,查看是否存在NetWorkService,若不存在,則添加之
2)添加賬戶方法:右鍵【登錄名】,選擇【新建登錄名】,在彈出的對話框中的右邊有登錄名輸入框,點擊右側的【搜索】,在彈出的【選擇用戶或組】中點擊 【高級】,再點擊【立即查找】,找到NetWorkService用戶名,點擊確定。 然后點擊左側的【服務器角色】,將publick選擇框打上,點擊【用戶映射】,將你項目中用到的數據表前 的勾打上,點擊【確定】即可。
5,再次打開iis ,重啟該項目,點擊瀏覽,這樣登錄就ok了,呵呵,希望能幫到你。