WPF Browser Application(XBAP)程序由于运行在Internet Explorer安全沙箱中,因此只能进行被认为是安全的操作,在微软目前实现的WPF Sandbox v1中,在Internet安全区域(Partial Trust)中不能进行的操作主要包括以下内容:
(1)在客户机器安装一个APTCA( AllowPartiallyTrustedCallersAttribute)程序集到GAC(Global Assembly Cache),由于GAC程序集具有FullTrust权限,因此可通过此程序集代理执行XBAP程序中需要超出PartialTrust权限的操作;
(2)在客户机器上安装一证书到用户的“受信任的发行者”存储区,然后用此证书对XBAP程序集进行签名。
今天就讲讲(1)中的方法如何实际操作,事实上这种方法应用在很多场合(例如ASP.NET应用中),对.NET FRAMEWORK安全机制很熟悉的程序员应该早就很清楚了,不过对于像我这样的WPF和.NET FRAMEWORK菜鸟来说,还是费了一番劲才搞清楚到底该怎么做,以下就是详细的步骤。
- 新窗口和对话框
- XAML序列化(使用XamlWriter.Save)
- 保存文件对话框
- 本地文件系统(非隔离存储区域)
- 注册表访问
- Windows Communication Foundation服务
- Bitmap Effects
(1)在客户机器安装一个APTCA( AllowPartiallyTrustedCallersAttribute)程序集到GAC(Global Assembly Cache),由于GAC程序集具有FullTrust权限,因此可通过此程序集代理执行XBAP程序中需要超出PartialTrust权限的操作;
(2)在客户机器上安装一证书到用户的“受信任的发行者”存储区,然后用此证书对XBAP程序集进行签名。
今天就讲讲(1)中的方法如何实际操作,事实上这种方法应用在很多场合(例如ASP.NET应用中),对.NET FRAMEWORK安全机制很熟悉的程序员应该早就很清楚了,不过对于像我这样的WPF和.NET FRAMEWORK菜鸟来说,还是费了一番劲才搞清楚到底该怎么做,以下就是详细的步骤。
一、创建GAC程序集
使用Visual Studio 2005(或Orcas)创建一个类库项目,然后修改项目的属性文件AssemblyInfo.cs文件,只需加上以下两句:
<