Asp.Net 用户验证(自定义 IPrincipal 和 IIdentity)
引言
前 一段时间有两个朋友问我,为什么在
HttpModule 中无法获得到 Session 值,因为他
们希望自定义一个
HttpModule
,然后在其中获取
Session 来进行用户验证。我奇
怪为什么不使用
.Net Framework 已经提供的验证机制,而要和 Asp 时一样,自
己手工进行
cookie+Session 验证?我们是基于.Net Framework 这个平台进行
编程,所以我觉得,在很多情况下,使用
Framework 已经建立好的机制会显著地
提高工作效率,而且
.NET Framework 内置的验证机制通常也更加安全。
.Net 提 供 了 一 整 套 的 验 证 和 授 权 机 制 , 这 里 验 证 和 授 权 是 不 同 的 概 念 , 验 证
(
Authentication
“
”
)是指 证明你确实是你所说的人 ,通常是提供一个用户名和
口 令 , 然 后 与 持 久 存 储
( 比 如 数 据 库 )
中 的 用 户 名 和 口 令 进 行 对 比 。 授 权
(
Authorization
“
”
)是指 你是否有足够的权限做某件事 ,此时你的身份已经被证
明过了(匿名用户、会员还是管理员),授权通常与用户 组或者用户级别联系起来,
不同的用户组拥有不同的权限(访问特定页面或者执行特定操作)。