给OPAC数据目录添加IIS应用池权限-解决opac.xml访问被拒绝的问题
dp2opac安装完成后,检查opac_data里错误日志,如果出现下图中的报错信息:

是因为IIS 7 配置权限的方式要多一步,需要在服务器上给图书馆的 opac 数据目录按照下面的方法添加 IIS AppPool\dp2OPAC 这样一个对象的权限,也就是代表 AppPool,然后回收重启了一下 dp2OPAC 的应用池,再访问,然后检查错误日志,应该没有报错了。
操作步骤
前提:要先停止dp2opac再做其他任何操作
-
登录OPAC所在的服务器,打开相关实例的数据目录。
-
选中OPAC数据文件夹,单击右键点出上下文菜单,选择 属性。

-
在打开的 opac_data属性 窗口,选择 安全 属性页。

-
点击 编辑 按钮,打开 opac_data的权限 窗口,点 添加 按钮。

-
点击 位置 按钮,确保你选择的是本机。

-
在 输入对象名称来选择 文本框输入:IIS AppPool\dp2OPAC

点 检查名称,输入框的内容变为:dp2OPAC,点 确定 后保存退出。

-
此时,dp2OPAC用户就显示在列表中,在权限列表勾选【 修改】 和 【写入】,点 确定 退出窗口。

-
在控制面板-管理工具中打开 IIS,回收重启 dp2OPAC 的应用池。

20190505-1330-maruimarui 在第8条增加“在控制面板-管理工具中打开 IIS”
以下问题也通过回收IIS应用池得解:读者访问opac预约在架图书时无法勾选册记录。
看起来是 Web 应用对 opac_data\log 子目录有创建和写入文件的权限,但不具备对 opac_data\opac.xml 文件覆盖修改的能力?
建议把文中提到的需要添加的权限一个一个单独测试一下,看看到底是哪个权限起了关键作用。
比如“修改”和“写入”到底有什么区别?“读取”和“读取和执行”有什么区别?感觉“读取和执行”比较危险,建议不要设置这个权限
可以参考这个文档: https://docs.microsoft.com/en-us/dotnet/api/system.security.accesscontrol.filesystemrights?view=netframework-4.8