ASP.NET调用Office Com组件权限设置

时间:2023-03-09 00:20:46
ASP.NET调用Office Com组件权限设置

ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误:
ASP.NET调用Office Com组件权限设置

现通过以下几步设置,可解决上述问题:
(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程序,或设应用程序池的模式应为”经典“

ASP.NET调用Office Com组件权限设置

(2)设置DCOM,在“开始”-“运行”中运行命令:Dcomcnfg.exe,在如下图所示界面中分别对Office组件项进行设置
ASP.NET调用Office Com组件权限设置

(3)分别设置Word/PowerPoint/Excel上述项访问权限
ASP.NET调用Office Com组件权限设置

ASP.NET调用Office Com组件权限设置

(4)经过上述设置后,有可能还会出现权限调用失败的问题(主要是Excel),这时需要对调用的用户做进一步的设置,选择“下列用户”,在浏览”中来选择指定本机管理员(有权限调用com组件的用户),同时须保证该用户在“安全"选项卡中已经分配权限( 如步骤3所示),或者在”安全“选择卡中给Everyone用户分配所有权限亦可

ASP.NET调用Office Com组件权限设置

(5)启用ASP.NET模式
ASP.NET调用Office Com组件权限设置
ASP.NET调用Office Com组件权限设置

其实以上的配置,在ASP.NET应用程序中,Web.config文件中配置以下节点(在系统中设置,会自动在web.config中生成以下节点,包括账号和密码),这时的用户须与“标识”选项卡中指定的用户和密码一致

<identity  impersonate="true" userName="administrator" password="test" />

ASP.NET调用Office Com组件权限设置

上述设置后,如还有问题,需要对IIS目录权限进行设置
ASP.NET调用Office Com组件权限设置