ASP.NET操作Word的IIS權(quán)限設(shè)置
更新時間:2011年02月14日 22:12:46 作者:
檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。
ASP.NET賬號在默認情況下是沒有權(quán)限操作Microsoft Office對象的,如果不進行權(quán)限的配置,代碼會拋出類似以下的異常:
檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。
這樣給Asp.NET操作Microsoft Office對象帶來了一定的困難。但我們還是要想辦法來進行Office對象的操作。下面簡單介紹一下本人在開發(fā)過程中曾經(jīng)使用過的方法:
方法1:配置Web.Config文件,在每次請求時模擬本地系統(tǒng)的賬戶。
具體操作:在Web.Config文件中添加如下節(jié)點:
<identity impersonate="true" userName="accountname" password="password" />
其中:userName是要模擬的本地賬號,password是該賬號的密碼。
方法2:在“DCOM配置”中,為IIS賬號配置操作Word(其他Office對象也一樣)的權(quán)限。
具體操作:“組件服務(wù)(Component Service)”->計算機(Computers)->我的電腦(My Computer)->DCOM配置(DCOM Config)->Microsoft Office Word 97 - 2003 文檔,右擊“Microsoft Office Word 97 - 2003 文檔”,選擇“屬性”進行一下兩步操作:
(1)在【標識(Identity)】選項卡中選中“交互式用戶(The interactive user)”.
?。?)在【安全(Security)】選項卡中,分別給前兩個組(啟動和激活權(quán)限,訪問權(quán)限)選擇“自定義(customer)”,然后點“編輯”,在彈出的界面中添加IIS賬號(Server版的操作系統(tǒng)一般為NETWORK SERVICES,其他系統(tǒng)(XP)可能會是ASP.NET),并在下面的權(quán)限框中,給該用戶分配所有權(quán)限。
方法3:為ASP.NET站點應(yīng)用池分配本地賬號
具體操作:在IIS中,為ASP.NET站點創(chuàng)建新的應(yīng)用程序池,再改應(yīng)用程序池屬性的【標識(identity)】選項卡中,為“預定義賬戶”選擇“本地系統(tǒng)(LocalSystem)”。
如果是IIS7.0中,則按以下步驟操作:為ASP.NET站點創(chuàng)建新的應(yīng)用程序池。選中該應(yīng)用程序池,高級設(shè)置->進程模式—>標識:選擇localSystem。
以上三種方法中,個人比較喜歡用第三種,因為在操作完Word對象后,還需要關(guān)閉Word對象的進程,而第三種方法可以不要其他設(shè)置就能讓ASP.NET應(yīng)用程序有權(quán)限去結(jié)束這個word進程。
檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。
這樣給Asp.NET操作Microsoft Office對象帶來了一定的困難。但我們還是要想辦法來進行Office對象的操作。下面簡單介紹一下本人在開發(fā)過程中曾經(jīng)使用過的方法:
方法1:配置Web.Config文件,在每次請求時模擬本地系統(tǒng)的賬戶。
具體操作:在Web.Config文件中添加如下節(jié)點:
<identity impersonate="true" userName="accountname" password="password" />
其中:userName是要模擬的本地賬號,password是該賬號的密碼。
方法2:在“DCOM配置”中,為IIS賬號配置操作Word(其他Office對象也一樣)的權(quán)限。
具體操作:“組件服務(wù)(Component Service)”->計算機(Computers)->我的電腦(My Computer)->DCOM配置(DCOM Config)->Microsoft Office Word 97 - 2003 文檔,右擊“Microsoft Office Word 97 - 2003 文檔”,選擇“屬性”進行一下兩步操作:
(1)在【標識(Identity)】選項卡中選中“交互式用戶(The interactive user)”.
?。?)在【安全(Security)】選項卡中,分別給前兩個組(啟動和激活權(quán)限,訪問權(quán)限)選擇“自定義(customer)”,然后點“編輯”,在彈出的界面中添加IIS賬號(Server版的操作系統(tǒng)一般為NETWORK SERVICES,其他系統(tǒng)(XP)可能會是ASP.NET),并在下面的權(quán)限框中,給該用戶分配所有權(quán)限。
方法3:為ASP.NET站點應(yīng)用池分配本地賬號
具體操作:在IIS中,為ASP.NET站點創(chuàng)建新的應(yīng)用程序池,再改應(yīng)用程序池屬性的【標識(identity)】選項卡中,為“預定義賬戶”選擇“本地系統(tǒng)(LocalSystem)”。
如果是IIS7.0中,則按以下步驟操作:為ASP.NET站點創(chuàng)建新的應(yīng)用程序池。選中該應(yīng)用程序池,高級設(shè)置->進程模式—>標識:選擇localSystem。
以上三種方法中,個人比較喜歡用第三種,因為在操作完Word對象后,還需要關(guān)閉Word對象的進程,而第三種方法可以不要其他設(shè)置就能讓ASP.NET應(yīng)用程序有權(quán)限去結(jié)束這個word進程。
您可能感興趣的文章:
- Asp.net FCKEditor 2.6.3 上傳文件沒有權(quán)限解決方法
- asp.net Forms身份驗證和基于角色的權(quán)限訪問
- 實例說明asp.net中的簡單角色權(quán)限控制
- 一個基于Asp.Net MVC的權(quán)限方案
- asp.net+sqlserver實現(xiàn)的簡單高效的權(quán)限設(shè)計示例
- asp.net BasePage類+Session通用用戶登錄權(quán)限控制
- Asp.net Mvc 身份驗證、異常處理、權(quán)限驗證(攔截器)實現(xiàn)代碼
- ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限(一)
- ASP.NET通用權(quán)限驗證的實現(xiàn)代碼思路
相關(guān)文章
使用DataTable.Select 方法時,特殊字符的轉(zhuǎn)義方法分享
常見的特殊字符 基本都能轉(zhuǎn)義 ,不知道還有沒有漏掉的 ,目前使用正常 ,有需要的朋友可以參考一下2013-10-10
Visual Studio 2017新版發(fā)布 更強大!
Visual Studio 2017新版發(fā)布 更強大!對Visual Studio 2017感興趣的小伙伴們可以參考一下2017-05-05
asp.net中使用 Repeater控件拖拽實現(xiàn)排序并同步數(shù)據(jù)庫字段排序
這篇文章主要介紹了asp.net中使用 Repeater控件拖拽實現(xiàn)排序并同步數(shù)據(jù)庫字段排序的相關(guān)資料,需要的朋友可以參考下2015-12-12
asp.net開發(fā)sql server轉(zhuǎn)換成oracle的方法詳解
這篇文章主要給大家介紹了關(guān)于asp.net開發(fā)中sql server轉(zhuǎn)換成oracle的相關(guān)資料,文中通過示例代碼和圖文將實現(xiàn)的步驟一步步介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。2017-08-08
ASP.NET編程獲取網(wǎng)站根目錄方法小結(jié)
這篇文章主要介紹了ASP.NET編程獲取網(wǎng)站根目錄方法,較為詳細的分析了ASP.NET針對網(wǎng)站目錄及物理路徑的操作技巧,并給出了實例予以總結(jié),需要的朋友可以參考下2015-11-11
VS2019下opencv4.1.2配置圖文教程(永久配置)
這篇文章主要介紹了VS2019下opencv4.1.2配置圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11

