成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

IIS7和IIS6配置ASP.NET虛擬主機的賬戶

2011-01-27 11:49:52來源:作者:


  ASP.NET 默認情況下并不是用網站的匿名帳戶來運行的,而是用一個固定的帳戶來運行的,比如 Windows 2000 中是 ASPNET,顯然虛擬主機中大家都用同一個帳戶來運行就會造成具有相同的 NTFS 權限,這是很明顯的安全

  ASP.NET 默認情況下并不是用網站的匿名帳戶來運行的,而是用一個固定的帳戶來運行的,比如 Windows 2000 中是 ASPNET,顯然虛擬主機中大家都用同一個帳戶來運行就會造成具有相同的 NTFS 權限,這是很明顯的安全隱患。在 Windows 2000 中可以通過模擬來實現不同的虛擬主機使用不同的帳戶運行 ASP.NET,具體有些復雜,請參見 正確配置虛擬主機中 ASP.NET 權限。而 Windows 2003(IIS 6)配置又有不同,Windows 2008(IIS 7)中配置又不同。不過 Windows 2008 中是最方便的。

  我們還是從模擬開始,模擬就是在 ASP.NET 配置文件中配置 <identity impersonate="true" />,這樣運行 ASP.NET 時就不全是固定的帳戶了(Windows 2000 中為 ASPNET、Windows 2003、2008 中為 Network Service),而是運行網站的匿名帳戶。為了敘述方便,我們稱為半模擬(官方無此名稱,僅僅是為了本文敘述方便)。

  模擬也可以指定特定的帳戶 <identity impersonate="true" userName="" password="" />,同樣為了敘述方便,我們把這種稱為全模擬(官方無此名稱,僅僅是為了本文敘述方便)。

  我們經過測試,得出幾個表,現列出來,為了便于表格不撐大,用了縮寫,現將縮寫說明如下:

  • AppPool 應用程序池帳戶
  • NS 對站點 Network Service 是否需要對站點根目錄有 NTFS 權限。
  • Principal System.Security.Principal.WindowsIdentity.GetCurrent().Name 的值
  • NS Network Service
  • demo 運行網站的匿名帳戶
  • NS 文件 Network Service 具有讀取權限的文件
  • demo 文件 deom 具有讀取權限的文件
  • NSdemo 文件 Network Service、demo 均具有讀取權限的文件
  • SSPI 普通應用程序用 Windows 身份驗證連接 SQL Server 時的帳戶。
  • Membership ASP.NET 中的 Membership 用 Windows 身份驗證連接 SQL Server 時的帳戶。

  另外啟用全模擬時:在 Windows 2003 中,將 demo 加入了 IIS_WPG 組;在 Windows 2008 中,將 demo 加入了 IIS_IUSRS 組。不然會無法訪問 C:\WINDOWS\Microsoft.NET\Framework 這個文件夾(實際上 2008 中加不加都可以,因為沒加的話,運行時會自動動態加入)。

  Windows 2003 中的情況

模擬情況 AppPool NS 對站點 Principle 讀 NS 文件 讀 demo 文件 讀 NSdemo 文件 SSPI Membership
不啟用 NS 需要 NS 成功 失敗 成功 NS NS
不啟用 demo 需要 NS 成功 失敗 成功 NS NS
半模擬 NS 需要 demo 失敗 失敗 成功 demo NS
半模擬 demo 需要 demo 失敗 失敗 成功 demo NS
全模擬 NS 需要 demo 失敗 失敗 成功 demo demo
全模擬 demo 需要 demo 失敗 失敗 成功 demo demo

  可以看出若使用半模擬,有個問題就是 Membership 用 Windows 身份驗證去連接 SQL Server 時并不是運行當前網站的帳戶,而是統一的 Network Service,這點是個遺憾。使用全模擬可以解決這個遺憾,但帳戶方面配置起來又很復雜。

  Windows 2008 中的情況

模擬情況 AppPool NS 對站點 Principle 讀 NS 文件 讀 demo 文件 讀 NSdemo 文件 SSPI Memberhip
不啟用 NS 需要 NS 成功 失敗 成功 NS NS
不啟用 demo 不需要 demo 失敗 成功 成功 demo demo
半模擬 NS 需要 demo 失敗 成功 成功 demo NS
半模擬 demo 不需要 demo 失敗 成功 成功 demo demo
全模擬 NS 需要 demo 失敗 成功 成功 demo demo
全模擬 demo 不需要 demo 失敗 成功 成功 demo demo

  從表中可以看出,在 Windows 2008 中配置 ASP.NET 虛擬主機權限隔離非常方便,甚至都不需要什么模擬,只需要將應用程序池的帳戶設置為網站的匿名帳戶就可以了。

贊助商鏈接:

主站蜘蛛池模板: 灵寿县| 施秉县| 静安区| 乌恰县| 健康| 东海县| 郸城县| 天长市| 友谊县| 襄樊市| 郁南县| 辰溪县| 伊金霍洛旗| 阿克| 新竹市| 宁化县| 镶黄旗| 望谟县| 嘉黎县| 高青县| 南涧| 辽宁省| 霍山县| 博白县| 宁陕县| 迁安市| 花莲县| 五常市| 平远县| 稷山县| 肃南| 大关县| 甘谷县| 双峰县| 泰州市| 玛曲县| 文山县| 班玛县| 东安县| 广西| 恩施市|