HttModule和抽象类BasePage两种方式进行用户身份验证

      最近一直在做站点内部身份验证的问题,有了一些积累,在这里把.net中两种常见的身份验证的方法分享给大家,希望对网友们有用。

身份验证的目的其实很简单:

1:当用户未进行登录时,要将用户的请求直接发送到相应的登录页面

 

2:只有当用户通过身份验证时,才将用户的请求发送到正确的页面

 

实现的方式之一利用HttpModule

原理:用户进行每一次的HTTPRequet之前,会执行HttpModule,再执行HttpHandler,最后才是Page_Load,所以可以在HTTPModule中写些自定义的方法,进行身份验证,例如检测Session中是否保存有正确的用户名,当没有时会将当前会话引入到站点的登录页面。

自定义的HTTPModule类中的代码如下

 

记得要在web.config文件中进行相应的注册

 

登录页面的代码如下

还有点相关的内容需要提一下:这种方式的实现,了解Page的生命周期的网友可能很容易理解,页面的生命周期是个比较复杂的问题,这里不做深入的探讨,只是简单的给大家介绍下

 

方式之二利用抽象类BasePage

原理:每一个页面都会继承于系统的System.Web.UI.Page类,我们可以自己封装一个自己的BasePage类,把我们的身份验证代码写到BasePage类中,再让站点内部的每一个页面(站点内的登录页面除外)继承于自己的BasePage类,当然这个BasePage类先得继承于系统的System.Web.UI.Page类,这样后面的继承才有意义。

自定义的BasePage类代码如下

 

站点内部非登录页面都继承于BasePage类,代码如下

 

这样就很轻松的实现了以上的身份验证功能,希望能帮到网友们! 微笑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值