不论是.NET框架和还是其他WEB语言都全部或部分含有安全类库,它们通常使用一定的规则来确保类库的调用方拥有访问类库公开资源的权限。例如,安全类库拥有创建文件的规则,该规则要求其调用方拥有创建文件的权限。
如果代码请求类库的资源,而满足类库所要求的权限,则允许代码访问该类库,同时保护资源不受未经授权的访问。即使代码拥有访问某个类库的权限,但如果调用该代码的代码没有访问该类库的权限,也将不允许其运行。
代码访问安全性并未消除编写代码时出现人为错误的可能性,但是如果应用程序使用安全类库访问受保护的资源,应用程序代码的安全风险会减小。基于.NET框架的托管安全类库帮助开发人员加密和解密敏感数据,制定安全代码访问策略。安全命名空间下主要包括6个类库,如表2-1所示。
表2-1 安全命名空间类库