域環境下配置連線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
- SQL Server連線SQL Server、SQL Server連線ORACLE 連結伺服器SQLServerOracle伺服器
- Oracle RAC 環境下的連線管理Oracle
- SQL Server 2008連線區域網內的SQL Server 2000資料庫SQLServer資料庫
- Windows 下 Laravel 7.0 連線 sql serverWindowsLaravelSQLServer
- 連線SQL ServerSQLServer
- 請問JDON下 如何連線SQL SERVER???SQLServer
- SQL Server 2000非域環境下資料庫異機備份SQLServer資料庫
- SQL Deverlop連線SQL ServerSQLdevServer
- SQL SERVER 自連線、外連線SQLServer
- .NET連線SQL ServerSQLServer
- Hibernate配置連線SQL SERVER2000SQLServer
- rac環境vip在linux下的連線資訊Linux
- SQL Server linked server 連線OracleSQLServerOracle
- Perl 連線 SQL Server (轉)SQLServer
- 遠端連線SQL ServerSQLServer
- 配置SQL Server 2005允許遠端連線SQLServer
- 不同網段sql server 2005 連線 sql server 2000的問題SQLServer
- Mac 環境下連線多個git — ssh方式MacGit
- Suse環境下YAST源(連線共享目錄)AST
- 連線遠端vps+配置環境記錄
- 連線SQL SERVER的公共類 (轉)SQLServer
- linux下使用者使用sql*plus的環境配置LinuxSQL
- 配置你的SQL Developer工作環境SQLDeveloper
- [轉載+補充][PY3]——環境配置(2)——windows下安裝pycharm並連線Linux的python環境WindowsPyCharmLinuxPython
- LAMP架構部署和動態網站環境的配置LAMP架構網站
- SQL Server中內連線和外連線的區別SQLServer
- SQL Server 2005 允許遠端連線解配置SQLServer
- Nginx開發環境跨域配置Nginx開發環境跨域
- NavicatPremium 連線SQL Server 、MySQL等REMServerMySql
- SQL Server連線不上原因SQLServer
- openGauss資料庫JDBC環境連線配置(Eclipse)資料庫JDBCEclipse
- 配置聯網環境
- 用ASP.NET/C#連線Access和SQL Server資料庫 (轉)ASP.NETC#SQLServer資料庫
- 親自配置網站環境做網站,這點你必須學會網站
- python 怎麼連線 sql server,不是連線 mysqlPythonServerMySql
- Maven環境下MyBatisGenerator 配置MavenMyBatis