濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)

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

熱門(mén)標(biāo)簽:海外地圖標(biāo)注門(mén)市標(biāo) 地圖標(biāo)注多個(gè)行程 廈門(mén)商鋪地圖標(biāo)注 云南外呼電銷(xiāo)機(jī)器人系統(tǒng) 銅川小型外呼系統(tǒng)運(yùn)營(yíng)商 陜西人工外呼系統(tǒng)哪家好 浙江外呼系統(tǒng)怎么安裝 山西防封卡電銷(xiāo)卡套餐 上海楊浦怎么申請(qǐng)申請(qǐng)400電話

作者:eaglet

轉(zhuǎn)載請(qǐng)注明出處

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

IIS 7 有兩種 ASP.NET Application Mode。

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

集成模式下,身份模擬可以完全通過(guò)界面來(lái)完成:

image

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

 

image

 

在這個(gè)圖中我們看到 IIS7 多了一個(gè) ASP.NET Impersonation 的功能,在 Actions 里面點(diǎn) Enable 開(kāi)啟身份模擬功能,然后點(diǎn) Edit 編輯身份模擬。

image 

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

然后點(diǎn)OK。

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

然后我做了一個(gè)簡(jiǎn)單的測(cè)試頁(yè)面看看身份模擬是否成功,測(cè)試程序如下:

 

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

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

NT AUTHORITY\IUSR

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

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

identity impersonate="true" />
這個(gè)設(shè)置是為 IIS 6 做身份模擬而設(shè)置的。在這種情況下,用戶(hù)身份的認(rèn)證交給IIS來(lái)進(jìn)行。當(dāng)允許匿名登錄時(shí),IIS將一個(gè)匿名登錄使用的標(biāo)識(shí)(缺省情況下是IUSR)交給ASP.NET應(yīng)用程序。當(dāng)不允許匿名登錄時(shí),IIS將認(rèn)證過(guò)的身份標(biāo)識(shí)傳遞給ASP.NET應(yīng)用程序。ASP.NET的具體訪問(wèn)權(quán)限由該賬號(hào)的權(quán)限決定。

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

找到問(wèn)題原因后,我把 identity impersonate="true" />  這個(gè)配置項(xiàng)從 web.config 中刪除了。刪除后,就可以用到前面在界面上配置的用戶(hù)名來(lái)模擬帳號(hào)了。

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

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:

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

image

現(xiàn)在我們?cè)龠\(yùn)行上面那個(gè)顯示當(dāng)前用戶(hù)的代碼顯示結(jié)果為

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

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

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

您可能感興趣的文章:
  • Windows Server 2012 Iis8 php環(huán)境配置方法
  • win2008下安裝SQL SERVER 2005出現(xiàn)IIS功能要求 警告解決方案
  • windows server 2008R2系統(tǒng) IIS7.5配置偽靜態(tài)的方法(urlrewrite)
  • Windows server 2008 iis7/iis7.5啟用父路徑的方法
  • win2003 iis6.0 NET2.0的Server Application Unavailable的問(wèn)題!
  • Tomcat6.0與windows 2003 server 的IIS服務(wù)器集成
  • windows server 2008/2012安裝php iis7 mysql環(huán)境搭建教程
  • Windws Server 2008 R2 WEB環(huán)境配置之安裝IIS方法
  • Microsoft Windows 2008 Server R2 iis7.5上傳文件限制200K更改
  • Win2008 Server下IIS配置安裝教程

標(biāo)簽:信陽(yáng) 自貢 常州 孝感 朔州 西雙版納 萊蕪 許昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)》,本文關(guān)鍵詞  Win2008,server,IIS7,設(shè)置,身份,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Win2008 server + IIS7 設(shè)置身份模擬(ASP.NET impersonation)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    石楼县| 永吉县| 九江县| 永德县| 桐城市| 宝鸡市| 呼图壁县| 芮城县| 定西市| 利川市| 清河县| 沂水县| 三门峡市| 辛集市| 乐东| 汪清县| 富阳市| 灌南县| 巴彦淖尔市| 宝鸡市| 佛冈县| 福泉市| 沅江市| 任丘市| 巩义市| 景泰县| 万全县| 桓台县| 兴城市| 孟村| 闻喜县| 永宁县| 丹江口市| 平远县| 晋江市| 山东省| 津市市| 霍山县| 东乡县| 沁源县| 泽库县|