ASP.NET操作Word的IIS权限设置

ASP.NET账号在默认情况下是没有权限操作Microsoft Office对象的,如果不进行权限的配置,代码会抛出类似以下的异常:

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

这样给Asp.NET操作Microsoft Office对象带来了一定的困难。但我们还是要想办法来进行Office对象的操作。下面简单介绍一下本人在开发过程中曾经使用过的方法:

  方法1:配置Web.Config文件,在每次请求时模拟本地系统的账户。

  具体操作:在Web.Config文件中添加如下节点:

  <identity impersonate="true" userName="accountname" password="password" />
  其中:userName是要模拟的本地账号,password是该账号的密码。

  方法2:在“DCOM配置”中,为IIS账号配置操作Word(其他Office对象也一样)的权限。

具体操作:“组件服务(Component Service)”->计算机(Computers)->我的电脑(My Computer)->DCOM配置(DCOM Config)->Microsoft Office Word 97 - 2003 文档,右击“Microsoft Office Word 97 - 2003 文档”,选择“属性”进行一下两步操作:

  (1)在【标识(Identity)】选项卡中选中“交互式用户(The interactive user)”.

  (2)在【安全(Security)】选项卡中,分别给前两个组(启动和激活权限,访问权限)选择“自定义(customer)”,然后点“编辑”,在弹出的界面中添加IIS账号(Server版的操作系统一般为NETWORK SERVICES,其他系统(XP)可能会是ASP.NET),并在下面的权限框中,给该用户分配所有权限。

  方法3:为ASP.NET站点应用池分配本地账号

具体操作:在IIS中,为ASP.NET站点创建新的应用程序池,再改应用程序池属性的【标识(identity)】选项卡中,为“预定义账户”选择“本地系统(LocalSystem)”。

  如果是IIS7.0中,则按以下步骤操作:为ASP.NET站点创建新的应用程序池。选中该应用程序池,高级设置->进程模式—>标识:选择localSystem。

以上三种方法中,个人比较喜欢用第三种,因为在操作完Word对象后,还需要关闭Word对象的进程,而第三种方法可以不要其他设置就能让ASP.NET应用程序有权限去结束这个word进程。

时间: 2024-11-01 02:07:58

ASP.NET操作Word的IIS权限设置的相关文章

ASP.NET操作Word的IIS权限设置_实用技巧

ASP.NET账号在默认情况下是没有权限操作Microsoft Office对象的,如果不进行权限的配置,代码会抛出类似以下的异常: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 这样给Asp.NET操作Microsoft Office对象带来了一定的困难.但我们还是要想办法来进行Office对象的操作.下面简单介绍一下本人在开发过程中曾经使用过的方法: 方法1:配置W

服务器安全之iis权限设置篇

  IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置,另一个是 IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上.这两个地方是密切相关的.下面以实例的方式来讲解如何设置权限. IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上有: 脚本资源访问 读取 写入 浏览 记录访问 索引资源   6 个选项.这 6 个选项中,"记录访问"和&q

iis 权限设置_win服务器

我们不应该把这归咎于 IIS 的不安全.如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是很小的(Web 应用程序本身有问题和通过其它方式入侵黑掉服务器的除外).下面是我在配置过程中总结的一些经验,希望对大家有所帮助.   IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置,另一个是 IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上.这两个地方是密切相关的.下面以实例的方式来讲解如何设置权限. II

在ASP.NET中使用EXCEL之权限设置

在ASP.NET中使用EXCEL,首先需要对COM组件的权限进行设置.如果未设置权限,则会报访问拒绝的错误.详细错误信息通常如下: 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 拒绝访问. ASP.NET 未被授权访问所请求的资源.请考虑授予 ASP.NET 请求标识访问此资源的权限.ASP.NET 有一个在应用程序没有模拟时使

asp.net 操作 word 一例(简单的)

asp.net|word 首先要添加一个引用:COM ----> Microsoft Word 9.0 Object Library要用到这个名称空间:System.Reflection void opWord(){ Word.Application oWord;Word._Document oDoc;object docBuiltInProps;object oMissing = Missing.Value;object Source = Server.MapPath("liu.doc&

asp.net操作WORD填充数据的问题

问题描述 WORD模板文件需要把数据添加进去请大家帮我分析一下这个模板做好了标签,然后用ASP.NET读这个WORD模板,通过刚才已经定义好的标签已经可以将数据填充进去了.从2行一下开始数据都是循环填充的,并且数据库中有多少行这里生成多少行.这里我不知道改如何做了?高手帮忙-------------------------------|单位名称:|标签|时间:|标签|1行我定义了标签可以将数据填充进去了-------------------------------|姓名|性别|生日 |2行是标题

asp.net 操作word

参考一:点击这里 参考二:点击这里 参考三:点击这里 using System; using System.Web.Security; using Microsoft.Office.Interop.Word; using System.IO; namespace WeixinService.Bll { public class WordOp { private ApplicationClass _wordApp; private Document _wordDoc; private static

win2003 IIS虚拟主机网站防木马、权限设置、安全配置整理_win服务器

一.系统的安装 1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面. 2.IIS6.0的安装 以下为引用的内容: 开始菜单->控制面板->添加或删除程序->添加/删除Windows组件 应用程序 ---ASP.NET(可选) |--启用网络 COM 访问(必选) |--Internet 信息服务(IIS)---Internet 信息服务管理器(必选) |--公用文件(必选) |--万维网服务---Active Server pages(必

win2003中 防木马权限设置IIS服务器安全配置整理

一.系统的安装    1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面. 2.IIS6.0的安装 开始菜单->控制面板->添加或删除程序->添加/删除Windows组件 应用程序 ---ASP.NET(可选) |--启用网络 COM+ 访问(必选) |--Internet 信息服务(IIS)---Internet 信息服务管理器(必选) |--公用文件(必选) |--万维网服务---Active Server pages(必选) |--