首页 新闻 赞助 找找看

关于页面的验证

0
悬赏园豆:30 [已关闭问题]

我使用asp.net写了一个后台的程序,但是需要每一个页面都需要进行身份验证,只有登录后的用户才能访问,但是如果每一个页面都写的话很麻烦,怎么写一个通用的类,使每个页面都能够调用,而不至于太麻烦啊!

good good study,day day up.的主页 good good study,day day up. | 初学一级 | 园豆:0
提问于:2010-03-08 15:02
< >
分享
其他回答(6)
0

让通用类继承System.Web.UI.Page,然后在通用类中重写OnPreInit方法,在重写方法中if (!Page.User.Identity.IsAuthenticated){/*未登录,跳转到登陆页面*/}。

然后让所有的aspx.cs页面继承自你写的通用类。

具体的代码你可以参考http://blog.csdn.net/cnkiminzhuhu/archive/2008/08/28/2842358.aspx这个帖子来处理

西越泽 | 园豆:10775 (专家六级) | 2010-03-08 15:10
0

常见做法写在一个页面基类中,让所有的页面类继承这个类就可以。

生鱼片 | 园豆:5757 (大侠五级) | 2010-03-08 15:16
0

写一个基类, 继承System.Web.UI.Page, 然后你的其它页面的类只继承这个基类就可以了,

风浪 | 园豆:2996 (老鸟四级) | 2010-03-08 15:54
0

1.用继承了System.Web.UI.Page的基类,不过也要修改每个页面

2.用httpmodule 过滤

LittlePeng | 园豆:3445 (老鸟四级) | 2010-03-08 16:38
0

如果只是控制能否可以访问,建议用FORM认证。

齐.net | 园豆:1421 (小虾三级) | 2010-03-08 17:11
0

 <authentication mode="Forms">
   <forms loginUrl="~/Default.aspx" defaultUrl="~/Main.htm" protection="None" timeout="216000" path="/" cookieless="UseCookies" name=".AUXBLOGENGINE"></forms>
  </authentication>

Forms验证,这个应该是很简单方便的一种方法。 应用后在登录后会在客户端cookie中存储一个记录〔有过期期限〕登录结果的信息。如果你无操作一定时间超过了过期时间它就会失效,并提示你重新登录。

邢少 | 园豆:10926 (专家六级) | 2010-03-09 09:39
0

我觉得在数据库添加个权限表就行了啊,不过就是要在每个页面的加载事件里面要加个try catch{}。不知道可以不可以

海晓涛 | 园豆:215 (菜鸟二级) | 2010-03-11 08:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册