如何使只有部分信任级别的Webpart程序集能访问拥有强名称的类库

转载 2006年06月10日 22:35:00
在.NET的安全性中,拥有强名称的程序集会得到CLR的更多保护,默认情况下,只有受到完全信任的程序集可以访问另外一个拥有强名称的程序集,如果您希望让受到部分信任的代码访问一个拥有强有力名称的程序件,必须使用AllowPartiallyTrustedCallers属性(APTCA)对其进行声明,申明方法就是在AssemblyInfo.cs文件中添加以下申明:

[assembly : AllowPartiallyTrustedCallers()]

注:AllowPartiallyTrustedCallers()包含在System.Security名称空间中,所以首先需要在AssemblyInfo.cs添加对该名称空间的引用

按照以上思路修改我的SPS对象模型扩展类库,这样我的Webpart在没有Full信任级别的情况下也可以访问拥有强名称的类库了

尽管这个方法能够解决我目前遇到的问题,但似乎还不是一个很好的做法,还看到一种做法是在拥有强名称程序集运行的服务器上配置.net framework 配置中赋权。还有些人在Webpage使用WinForm控件时使用的方法,和我前面提到的方法类似


 

相关文章推荐

IIS7.0应用程序 .NET信任级别的区分

level="[Full|High|Medium|Low|Minimal]"     originUrl="URL"    processRequestInApplicationTrus...

ASP.NET 信任级别和策略文件

信任级别是使用 配置元素与策略文件关联的,该配置元素只在站点级配置文件 (Web.config) 中有效。您可以通过向配置节中添加指定信任级别名称和要使用的策略文件的项,来添加或移除信任级别。默...

图解.net程序集赋予强名称

从开始菜单打开VS命令提示; 输入下图命令;生成的文件保存了公钥/私钥对; 利用下面命令可提取出公钥部分; 查看公钥; 新建一个.net窗体程序...

.net程序集强名称签名实践

强名称是由程序集的标识加上公钥和数字签名组成的。其中,程序集的标识包括简单文本名称、版本号和区域性信息(如果提供的话)。强名称是使用相应的私钥,通过程序集文件(包含程序集清单的文件,并因而也包含构成该...

mvc4源码调试“未能加载文件或程序集“System.Web.Mvc”或它的某一个依赖项。未能验证强名称签名。解决办法

环境vs2015+win7x64+.net 4.5 system.web.mvc中版本改成4.0.0.1 个人测试mvc项目中根目录web.config改                  ...

C#关于程序集生成失败【引用DLL及第三方DLL没有强名称的解决办法】

C#关于程序集生成失败及引用DLL及第三方DLL没有强名称,一个Assembly希望封装成为ActiveX/COM组件,那么它必须拥有强名(Strong Name),也就是说在编译的时候需要指定S...

强程序集名称 & GAC 介绍

使用强名称的步骤: 1、创建密匙文件(.snk文件),打开vs command,输入:sn.exe -k 密匙文件名称.snk 2、将密匙文件加入到工程中csc /t:librar...

用强名称程序集避免“DLL地狱”

为Microsoft .NET框架创建应用程序时,你获得的最大的一个承诺就是能避免所谓的DLL地狱。它是指当一个组件更新后,可能会中断依赖于它的其他应用程序。然而,为了理解这个承诺,开发者需要熟悉“强...
  • aifudi
  • aifudi
  • 2011-01-16 22:16
  • 1700

建议120:为程序集指定强名称

建议120:为程序集指定强名称 虽然强名称在设计之初有防止被未授权的第三方软件非法执行程序的作用,但是因为它的破解方法并不难,所以现在强名称更多的意义在于它可以避免出现“DLL HELL”现象。 ...
  • houwc
  • houwc
  • 2016-09-12 10:57
  • 128

强名称的程序集

在 具有强名称的程序集  网页中,我们可以看到以下描述: 强名称依赖于唯一的密钥对来确保名称的唯一性。任何人都不会生成与您生成的相同的程序集名称 ,因为用一个私钥生成的程序集的名称与用其他...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)