b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ClickOnce部署(5):自定义安全权限(2)

电脑杂谈  发布时间:2016-04-20 10:39:32  来源:网络整理

我们可以打开这些XML文件看看里面有些什么。

ClickOnce部署(5):自定义安全权限

从中我们看到,每一项权限都是一个IPermission节点,这个IPermission是不是有点熟悉?对的,上面我们说过的一个接口,与权限配置有关的类都实现该接口。也就是说,自定义应用程序的权限,就是编写相应的XML节点。

从MSDN的参考文档(参考地址:(v=vs.110).aspx)我们知道,权限集的配置在trustInfo元素下的security/applicationRequestMinimum/PermissionSet节点下,层次结构我们可以参考文档。

ClickOnce部署(5):自定义安全权限

好,我们来实战一下,这样讲还是觉得很抽象,再次打开项目属性,切换到"安全性"选项卡。选择部分信任选项,在"将要从中安装应用程序的区域"下面的下拉列表框中选择"自定义",这时候,右边的"编辑权限XML"按钮变为可用状态。如下图:

ClickOnce部署(5):自定义安全权限

我们不妨单击这个按钮,来查看XML文件,结合XML文件上的注释和文档说明,基础较好的朋友估计已经明白怎么用了。

现在呢,不对XML文件进行任何修改,然后我们发布并安装应用程序。结果我们发现,应用程序没运行,手动到"开始"组中启动它也没有运行,这是很多朋友都遇到的问题,clickonce应用安装后不能运行。其实问题就出在权限上。刚才我们使用自定义权限集来发布应用程序,而我们又没有配置任何权限,就等于应用程序不具有任何权限,当然没法运行。

回到项目属性窗口的"安全性"选项卡,点击"编辑权限XML"按钮。

这时候就打开应用程序清单文件,我们找到trustinfo节点。找到PermissionSet节。如下图:

ClickOnce部署(5):自定义安全权限

注意PermissionSet节的ID要与defaultAssemblyRequest.permissionSetReference的一致,这里已经为我们生成了Custom。

我们要做的就是在PermissionSet下添加IPermission元素,这个元素怎么写呢?看文档。Version属性为1,我们只需设置class即可,需要赋给应用程序什么权限,就写上类的完整标识符,包括程序集和版本,公钥等。

前面我为什么要介绍在对象浏览器中查看IPermission派生的类,就是为这里打下伏笔的。

IPermission元素所属性并不只是class、version这几个,它可以和对应的类的属性进行合并,即XXXPermission和XXXPermissionAttribute的属性可以进行合并,如FileIOPermission类有个AllFiles属性,FileIOPermissionAttribute类有个Read属性,我们就可以把它们合起来用,即:

以上就是关于clickonce的全部内容,相信你一定会非常满意。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-2227-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...