域環境下配置連線sql server 的asp.net網站
域控制器+資料庫伺服器 域名local
window 2003 sp2
sql server 2000 sp4 windows 認證
web伺服器
window 2003 sp2
iis6 允許匿名登入
asp.net 1.1 系統網站 要求允許internet訪問
web.config impersonate=false authentication mode=”Forms”
連線採用 Intergrated Security=true(即Trusted Connection=true)
問題1:碰到no authority/network service(iis5下為 no authority/aspnet)
解決方案:網上搜了一下,要在sql server上新增network service相應的許可權,可是在sql server上找了一圈也沒有發現,後來找到了老外的一個帖子Installing SQL Server on a domain controller,大體意思就是不推薦把sql server安裝到域控制器上,可能會導致帳戶的許可權等。
於是做了更改
資料庫伺服器
window 2003 sp2
sql server 2000 sp4 windows 認證
域控制器+web伺服器 域名local
window 2003 sp2
iis6 允許匿名登入
asp.net 1.1 系統網站 要求允許internet訪問
web.config impersonate=false authentication mode=”Forms”
把域伺服器安裝到web伺服器上,這個時候能夠在sql server新增 local\Network Service 帳號,並且設定對具體資料庫的許可權。不過瀏覽頁面的時候報 使用者 'LOCAL\WIN03$' 登入失敗,WIN03是我這裡web伺服器的機器名。
從網上查了一下
如果IIS啟用了匿名訪問
1 如果asp.net應用程式啟用模仿,則用IUSR_machinename發出請求
2 如果asp.net應用程式未啟用模仿,則用特定的ASP.NET程式帳戶發出請求
所以將impersonate設為true,另外之前已經設定了IUSR_machinname(就是Network Service)在Sql Server的使用者許可權,頁面能夠正常瀏覽。
還要注意的是,如果啟用了模仿,但IUSR_machinname在Sql Server中沒有相應許可權,會報使用者 'LOCAL\IUSER_WIN03' 登入失敗錯誤。
最後如果正在執行 Windows Server 2003,其中的 IIS 6.0 配置為執行在輔助程式隔離模式下(預設情況),則可通過將 ASP.NET 應用程式配置為在自定義應用程式池(在特定的域標識下執行)中執行來避免模擬。然後,可以使用指定的域標識訪問資源而無需使用模擬。
補充:
今天從網上看到說不建議使用impersonate,可能會導致應用程式池工作不正常,於是嘗試將impersonate設定為false,此時報使用者 'LOCAL\WIN03$' 登入失敗,可以在sql server中新增local\win03$使用者許可權,在虛擬機器上測試能夠正常訪問。明天在伺服器環境試一下。
今天在伺服器環境下測試,發現外網使用者不能訪問(始終彈出使用者名稱密碼的登入對話方塊),在網上找到這樣一段話
使用 Windows 整合安全性。此選擇將使用者的憑據傳遞到 SQL Server。由於委託問題,這樣做是切實可行的,條件是 SQL Server 和 IIS 位於同一臺計算機上,而且使用者必須與 Web 伺服器計算機位於同一域中。
看來,不使用模仿是無法解決這個問題的,但我有不想使用模仿,不知道還有沒有其他辦法.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-545477/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 配置SQL server遠端連線(區域網)SQLServer
- 非域環境下SQL Server mirror建立SQLServer
- Windows 下 Laravel 7.0 連線 sql serverWindowsLaravelSQLServer
- Homestead 環境下,區域網域名訪問站點
- Oracle RAC 環境下的連線管理Oracle
- NavicatPremium 連線SQL Server 、MySQL等REMServerMySql
- python 怎麼連線 sql server,不是連線 mysqlPythonServerMySql
- 雲伺服器SQL Server 2008 允許遠端連線的配置伺服器SQLServer
- openGauss資料庫JDBC環境連線配置(Eclipse)資料庫JDBCEclipse
- LAMP架構部署和動態網站環境的配置LAMP架構網站
- 網站連線資料庫配置錯誤網站資料庫
- 網站連線資料庫配置檔案網站資料庫
- Nginx開發環境跨域配置Nginx開發環境跨域
- linux下安裝node環境以及配置軟連線、pm2管理node程式Linux
- Xcode配置測試環境和線上環境XCode
- 允許本地Sql Server 遠端連線SQLServer
- SQL Server 2008連線字串寫法大全SQLServer字串
- c#連線SQL Server資料庫C#SQLServer資料庫
- 基於C++11的資料庫連線池環境配置C++資料庫
- Maven環境下MyBatisGenerator 配置MavenMyBatis
- Windows 下 Laravel 環境配置WindowsLaravel
- linux下配置java環境LinuxJava
- CentOS下Ant環境配置CentOS
- Webpack下多環境配置的思路Web
- docker下springboot的多環境配置DockerSpring Boot
- SQL Server如何判斷哪些會話/連線是長連線?SQLServer會話
- AD域環境的搭建 基於Server 2008 R2Server
- 09. 樹莓派ASP.NET環境配置樹莓派ASP.NET
- RedHat 7.2配置LAMP環境下的redius+mysql+openvpn環境RedhatLAMPMySql
- 在域環境下對賬戶的操作
- Linux下Java環境變數的配置LinuxJava變數
- Linux 下配置 node + mongodb 環境LinuxMongoDB
- linux環境下ssh 互信配置Linux
- WAMP環境下如何安裝執行多個網站網站
- app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全APP
- 在Docker環境下的kafka部署之二:SSL連線及內外網分別訪問DockerKafka
- 使用SSMS連線和查詢 SQL Server 例項SSMSQLServer
- 適用於SQL Server生產環境DBA的七大技巧SQLServer
- Tomcat的下載及環境變數配置Tomcat變數