探索.NET安全:构建健壮的应用程序
1. 安全性简介
在现代应用程序设计中,安全性是不可或缺的一环。尽管安全措施应当贯穿整个开发周期,但在教学上,先介绍.NET应用程序模型、ASP.NET和Web服务,再深入探讨安全性,会让学习过程更加顺畅。安全性不仅涉及用户身份的验证,还包括代码执行权限的控制,确保应用程序能够在复杂的环境中稳健运行。
2. 安全性的基础
安全性旨在防止用户或代码执行不应被允许的操作。传统上,安全措施主要集中在限制用户行为。然而,随着技术的发展,.NET引入了代码访问安全(Code Access Security, CAS),使得开发者可以对执行中的代码施加限制。例如,可以阻止某些代码段访问特定文件,这对于公共网站或服务尤其有用,因为为未知数量的用户创建账户并锁定文件或其他资源是不切实际的。此外,当执行由第三方创建的代码时,这一点尤为重要。
用户身份安全与代码访问安全
.NET安全分为两种类型:
- 用户身份安全 :确定哪个身份正在执行代码。这通常涉及用户认证和授权。
- 代码访问安全 :确定执行代码拥有哪些权限。这可以通过限制代码访问特定资源来实现。
这两种安全措施相结合,提供了构建健壮应用程序的基本工具。
3. 与操作系统安全的关系
.NET安全性建立在底层操作系统安全系统之上。假设底层操作系统为Windows 2000。虽然会讨论一些与底层基础设施(包括微软的Internet Information Ser