ASP.NET 安全认证与经典 ASP 集成的深入解析
1. Forms 认证概述
在 ASP.NET 2.0 和 ASP.NET 3.5 中,Forms 认证提供了新的保护机制。它会在所有 Forms 认证 Cookie 中包含 HttpOnly 属性,结合对 Forms 认证票据的加密和签名、requireSSL 属性以及绝对票据过期设置,可以有效限制恶意用户获取 Forms 认证 Cookie 的能力。
当应用程序在新的 IIS 7.0 集成模式下运行时,可以启用托管的 FormsAuthenticationModule 对 ASP.NET 和非 ASP.NET 资源进行认证。这是因为在 IIS 7.0 集成模式下,ASP.NET 可以访问所有类型的请求。
ASP.NET 2.0 和 ASP.NET 3.5 还支持无 Cookie 模式,即 Forms 认证票据会嵌入到 URL 中。这使得开发者更容易创建适用于移动浏览器和标准桌面浏览器的网站。但从安全角度考虑,对于需要高度安全的网站,开发者应避免使用无 Cookie 的 Forms 认证票据,因为这种票据很容易“泄露”或被非原始用户获取。
虽然 Forms 认证看似简单,但通过一些自定义代码,实际上可以解决一些相当复杂的认证问题。ASP.NET 2.0 和 ASP.NET 3.5 允许在应用程序之间传递 Forms 认证票据,这使得解决一些以前需要复杂第三方单点登录(SSO)应用程序才能解决的单点登录问题成为可能。当然,Forms 认证的跨应用程序功能也有一定的局限性,对于许多开发者来说,商业 SSO 解决方案仍然是有意义的。
Forms 认证和 Membership 的结合为开发者
超级会员免费看
订阅专栏 解锁全文
376

被折叠的 条评论
为什么被折叠?



