激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

2019-09-20 14:15eaglet ASP.NET教程

IIS7 與 IIS 6 相比有了很大的改動,原來在 IIS 6 下可以的設(shè)置到了 IIS 7 下有的會發(fā)生變化。身份模擬的配置上,IIS7 和 IIS6有很大不同,網(wǎng)上IIS6的身份模擬的文章比較多,但介紹IIS7的比較少,我把的一些折騰的經(jīng)驗在這篇博客中寫下

IIS7 與 IIS 6 相比有了很大的改動,原來在 IIS 6 下可以的設(shè)置到了 IIS 7 下有的會發(fā)生變化。身份模擬的配置上,IIS7 和 IIS6有很大不同,網(wǎng)上IIS6的身份模擬的文章比較多,但介紹IIS7的比較少,我把的一些折騰的經(jīng)驗在這篇博客中寫下來,以供參考。

IIS 7 有兩種 ASP.NET Application Mode。

一種是 集成模式(Integrated Mode) 這個是默認的模式,也是微軟推薦的模式,另一種是 經(jīng)典模式(Classic Mode) ,這種模式是用于兼容老版本。集成模式使用更方便而且安全性更好,不需要把模擬帳戶的用戶名和密碼寫在配置文件中,這樣更安全也更方便。既然我們已經(jīng)用了IIS 7,那么我們還是按微軟推薦的方式使用集成模式比較好。

集成模式下,身份模擬可以完全通過界面來完成:

Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

首先如上圖所示,IIS 7 在 Server Level 下有個 IIS-> Authentication ,雙擊這個圖標我們看到下面這個圖:

 

Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

 

在這個圖中我們看到 IIS7 多了一個 ASP.NET Impersonation 的功能,在 Actions 里面點 Enable 開啟身份模擬功能,然后點 Edit 編輯身份模擬。

Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

我們看到上面這個編輯框,在這個編輯框中,我們指定要進行身份模擬的帳號,這個帳號必須是本地已經(jīng)存在的帳號,點 Set 輸入這個帳號的名稱和密碼。

然后點OK。

到這里,按照 MSDN 中的幫助文檔,身份模擬應(yīng)該就算設(shè)置成功了。

然后我做了一個簡單的測試頁面看看身份模擬是否成功,測試程序如下:

 

protected void Page_Load(object sender, EventArgs e)
{
    Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
}

運行的結(jié)果居然是:

NT AUTHORITY\IUSR

也就是說 Asp.net 沒有用我設(shè)置的這個 MyAccount 帳號模擬運行,而是仍然用IUSR 帳號模擬運行。查了好久,才發(fā)現(xiàn)是下面問題造成:

用 Virtual Studio 2008 生成網(wǎng)站時,web.config 文件中默認會有這樣一個設(shè)置:

<identity impersonate="true" />

這個設(shè)置是為 IIS 6 做身份模擬而設(shè)置的。在這種情況下,用戶身份的認證交給IIS來進行。當(dāng)允許匿名登錄時,IIS將一個匿名登錄使用的標識(缺省情況下是IUSR)交給ASP.NET應(yīng)用程序。當(dāng)不允許匿名登錄時,IIS將認證過的身份標識傳遞給ASP.NET應(yīng)用程序。ASP.NET的具體訪問權(quán)限由該賬號的權(quán)限決定。

這個設(shè)置在 IIS 7 下已經(jīng)過時了,如果用古典模式,才需要這樣設(shè)置。

找到問題原因后,我把 <identity impersonate="true" />  這個配置項從 web.config 中刪除了。刪除后,就可以用到前面在界面上配置的用戶名來模擬帳號了。

然而先不要高興的太早,緊接著就出現(xiàn)了新的問題。 錯誤如下:

Could not load file or assembly 'xxxx' or one of its dependencies. Access is denied.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
Exception Details: System.IO.FileLoadException: Could not load file or assembly 'GetPathFileLib' or one of its dependencies. Access is denied.
Source Error:

從錯誤提示看,應(yīng)該是目前這個模擬帳戶沒有足夠的權(quán)限去執(zhí)行 bin 目錄下的 xxxx.dll ,于是我把bin 目錄賦予模擬帳戶 MyAccount 完全控制的權(quán)限,結(jié)果還是不行,我在網(wǎng)上搜了一下,有人說需要將C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary 這個目錄也設(shè)置為完全控制,于是照做了,還是不行。無奈之下,我把MyAccount 帳戶加入了 IIS_IUSRS這個群組,問題終于解決。

Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

現(xiàn)在我們再運行上面那個顯示當(dāng)前用戶的代碼顯示結(jié)果為

MachineName\MyAccout

注意:我們必須要把 <identity impersonate="true" /> 刪除才行,如果僅僅是設(shè)置為 <identity impersonate="false" />

模擬的帳戶會變成  IIS APPPOOL\DefaultAppPool,這個設(shè)置是不正確的。

到這里IIS7 下設(shè)置身份模擬就全部完成了。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲爱爱网站 | 日韩黄色片网站 | 午夜精品福利影院 | 在线成人av观看 | 曰韩一二三区 | 《97色伦在色在线播放》 | 日韩黄色三级视频 | 欧美日韩综合视频 | hd日本xxxx| 免费的性生活视频 | 久久久久久久久久久综合 | 夜夜夜精品视频 | 91九色丨porny丨国产jk | 午夜视频福利 | 欧美日韩在线播放 | www噜噜偷拍在线视频 | 草莓福利视频在线观看 | 手机国产乱子伦精品视频 | 色成人在线| 91黄瓜视频 | 欧美一级h | 日本欧美一区二区三区在线观看 | 成人黄色免费电影 | 成人激情视频网站 | 天天干导航 | 91精品一区二区综合在线 | 做爰xxxⅹ性护士hd在线 | 影视免费观看 | 91成人在线免费视频 | 久久人人爽爽爽人久久久 | 夜班护士在线观看 | 免费午夜网站 | 日本视频免费观看 | 成年免费视频黄网站在线观看 | 久草视频国产在线 | 黄色成人av在线 | 99精品视频在线观看免费 | 日韩av日韩 | 日韩精品久久久久久久电影99爱 | 一级欧美日韩 | 成人一级在线 |