什么是.NET中的CAS(代码访问安全性),以及如何实现它?使用它有什么好处?什么是.NET中的代码访问安全性
回答
我发现了解CAS的最佳链接,你可以在my Delicious page on the subject找到。
简而言之,CAS是.NET的安全沙箱。本地应用程序通常具有完全信任,这意味着他们可以做任在浏览器中托管的.NET应用程序无法做太多工作。在这之间,几乎任何安全设置都可以使用CAS进行微调。
它的好处是:可以很好地控制.NET应用程序的功能,即使在登录用户的上下文中也是如此。关于它的最好的部分IMO是安全检查,即使某些代码有权执行某些操作,但如果该方法被另一个程序调用,而该程序不具有有权执行某些操作,该请求将会失败(除非采取特殊措施)。
缺点:这是一个非常复杂的野兽学习。很多陷阱。但希望我提供的链接将引导您学习任何您需要知道的细节。
感谢您分享链接安德鲁... – tush1r 2009-04-10 15:38:13
代码访问安全性包含以下元素:
- 权限
- 权限集
- 码组
- 证据
- 政策
权限
权限表示对受保护资源的访问权限或执行受保护操作的权限。 .NET Framework提供了几个权限类,如FileIOPermission(处理文件时),UIPermission(使用用户界面的权限),SecurityPermission(这是执行代码所需的,甚至可以用于绕过安全性)等。在此列出所有权限类别,它们列在下面。
权限集
权限集是权限的集合。您可以将FileIOPermission和UIPermission放入您自己的权限集中,并将其称为“My_PermissionSet”。权限集可以包含任意数量的权限。 FullTrust,LocalIntranet,Internet,Execution和Nothing是.NET Framework中的一些内置权限集。 FullTrust拥有全世界的所有权限,而Nothing根本没有权限,甚至没有执行权限。
代码组
代码组是代码的逻辑分组,其具有用于会员指定的条件。来自http://www.somewebsite.com/的代码可以属于一个代码组,包含特定强名称的代码可以属于另一个代码组,并且来自特定程序集的代码可以属于另一个代码组。有像My_Computer_Zone,LocalIntranet_Zone,Internet_Zone等内置代码组。像权限集一样,我们可以根据.NET Framework提供的证据创建代码组以满足我们的要求。网站,强名称,区域,URL是一些证据类型。
政策
安全策略是可配置的一套规则,决定的权限授予代码时,CLR如下。有四个策略级别 - 企业,机器,用户和应用程序域,各自独立运行。每个级别都有自己的代码组和权限集。他们具有下面给出的层次结构。
- 企业
- 机
- 用户
- 应用领域
良好的答案兄弟。你可以复制和粘贴得很好。这里的原创文章 - http://www.codeproject.com/Articles/5724/Understanding-NET-Code-Access-Security – 2014-04-08 14:27:11
- 1. 什么取代.net中的代码访问安全
- 2. .NET代码访问安全性 - 为什么很少使用?
- 3. 代码访问安全性问题 - 这里有什么问题?
- 4. 为什么要使用CAS(代码访问安全性)?
- 5. 为什么此代码访问安全性示例被破坏?
- 6. 评估用户代码的安全性问题是什么?
- 7. .NET代码访问安全性中的“应用程序目录”成员条件的含义是什么?
- 8. 代码访问安全性如何在.NET Framework 4下工作?
- 9. 最佳在线阅读理解.NET代码访问安全性?
- 10. 代码访问安全
- 11. .NET中的代码安全
- 12. 什么是C/C++中的“安全”和“不安全”代码?
- 13. JSF的安全性问题是什么?
- 14. 代码访问安全实时在.net中的实现?
- 15. 如何判断代码访问安全性是否允许在库代码中
- 16. .net中的类型安全是什么?
- 17. 是否有必要了解代码访问安全性(CAS)?
- 18. 关于代码访问安全性(CAS)的问题
- 19. .NET Thread不安全代码
- 20. .net 4.0与代码访问安全性NetFx40_LegacySecurityPolicy将无法正常工作
- 21. PortalSiteMapprovider代码访问安全要求
- 22. 的SharePoint代码访问安全性,要求调用Page.TemplateControl.ParseControl
- 23. PHP的代码安全性
- 24. 使用代码访问安全性,而不GAC
- 25. 代码访问安全性和Sharepoint Web部件
- 26. 为什么我的不安全代码块比我的安全代码慢?
- 27. 散居的安全问题是什么?
- 28. 支持Dojo JavasScript库安全,可访问和高性能的立场是什么?
- 29. 为什么我的代码不是线程安全的?
- 30. 为什么此代码不是线程安全的?
万一有人在此线程在.net核心寻找它的土地达 - [基于代码访问安全(CAS)沙箱在.Net Core中不支持**(https://blogs.msdn.microsoft.com/dotnet/2016/02/10/porting-to-net-core/)。您将不得不使用完整的.Net框架才能使用CAS。 – RBT 2017-11-16 00:41:39