编写安全类库

类库中的编程错误会公开安全脆弱性,因为类库经常访问受保护的资源和非托管代码。 如果设计类库,则需要了解代码访问安全性,并仔细地保护您的类库。

下面描述保护类库时需要考虑的三种主要元素。

安全元素

说明

安全要求

要求是一种应用于类级别和方法级别的机制,它要求调用您的代码的调用方拥有您所希望的权限。 要求调用堆栈步,在此期间,当调用代码时,将在堆栈上检查直接或间接调用您的代码的所有调用方。 要求通常在类库中用来帮助保护资源。

安全重写

重写应用在类和方法范围上,为否决运行时作出的某些安全决策的方法。 重写在调用方使用您的代码时调用。 使用重写可停止堆栈步,并限制已被授予某些权限的调用方的访问权限。

注意注意
.NET Framework 4 版中的安全更改已导致一些重写过时。有关这些更改的信息,请参见 .NET Framework 4 中的安全性更改
警告说明警告
重写是危险操作,应当谨慎使用。

安全优化

.NET Framework 4 中引入的透明度提供了用于优化代码访问安全性的新方法。 有关更多信息,请参见安全透明的代码

请参见

概念

安全需求

重写安全检查

用于类和成员范围的声明式安全

安全优化

代码访问安全性