惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
I
InfoQ
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
量子位
博客园 - 叶小钗
月光博客
月光博客
IT之家
IT之家
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享

博客园 - 想想

通过 ASP.NET 4.0、Visual Studio 2010 和 IIS7 实现的搜索引擎优化 WidgetIfYr.com:将代码转化为Widget TheUniformProject:1件衣服365种穿法 模板页全球化 使用SandCastle和HTML Help 2.0集成XML代码注释到VS2005和VS2008 iCalendar 中文VS2008安装MVC框架后,不显示相关模板 无法在证书存储区中找到清单签名证书 什么是数据持久性? 向google,baidu,yahoo,msn,sogou等搜索引擎提交网站 什么是 ASP.NET? (悼念四川地震死难者)使整个网页变黑白色(灰色)的特效代码 window.open 参数 详细说明 Response.Redirect 打开新窗口的方法 如果有一些引用存在于标记中,则不会重命名这些引用,要继续吗 如何用VS2005制作Web安装程序 ASP.NET弹出日历 在IIS 6.0环境下运行ASP.NET 1.1 CSS色谱表
HttpModule实现简单权限限制访问
想想 · 2008-12-26 · via 博客园 - 想想

-

         "权限限制访问"几乎每个程序员在做系统时都会用到。就我而言会用一下三种方法来实现:

  1. 写一个权限管理函数,在每个代码隐藏文件中的Page_Load函数中调用。这种方法很低级,代码量很大,如果系统很大的化,那简直就是一场灾难。
  2. 撰写一个继承System.Web.UI.Page 基类的BasePage类,然后再 BasePage类继承的OnInit 方法中填写权限管理的代码。然后在系统的每个代码隐藏文件中的Page类继承BasePage类就OK了。使用这种方法虽然能够有效的解决代码重用问题,但是想想如果忘了让Page累继承BasePage类,那将会变成系统安全的一个漏洞......
  3. 用HttpModule来实现"权限限制访问"相对简单多了,也可以有效解决以上问题,以下是自己写的代码示例(VS2005),请路过的朋友不要见笑,并提出宝贵意见。
  • 文件->添加新项目->Visual C#->类库 

Code

  • 文件->添加新项目->Visual C#->类库:(将控件修改为能够自动感知权限的控件)

Code

  • 如何调用权限管控代码(文件->新建网站)

       在Web.Config文件中添加调用代码:

Code

在页面中调用自动感知权限的控件:

Code

Notices: 请不要在有登录页的模块中调用HttpModule,否则会在登录页面造成跳转死循环。