让通用类继承System.Web.UI.Page,然后在通用类中重写OnPreInit方法,在重写方法中if (!Page.User.Identity.IsAuthenticated){/*未登录,跳转到登陆页面*/}。
然后让所有的aspx.cs页面继承自你写的通用类。
具体的代码你可以参考http://blog.csdn.net/cnkiminzhuhu/archive/2008/08/28/2842358.aspx这个帖子来处理
常见做法写在一个页面基类中,让所有的页面类继承这个类就可以。
写一个基类, 继承System.Web.UI.Page, 然后你的其它页面的类只继承这个基类就可以了,
1.用继承了System.Web.UI.Page的基类,不过也要修改每个页面
2.用httpmodule 过滤
如果只是控制能否可以访问,建议用FORM认证。
<authentication mode="Forms">
<forms loginUrl="~/Default.aspx" defaultUrl="~/Main.htm" protection="None" timeout="216000" path="/" cookieless="UseCookies" name=".AUXBLOGENGINE"></forms>
</authentication>
Forms验证,这个应该是很简单方便的一种方法。 应用后在登录后会在客户端cookie中存储一个记录〔有过期期限〕登录结果的信息。如果你无操作一定时间超过了过期时间它就会失效,并提示你重新登录。
我觉得在数据库添加个权限表就行了啊,不过就是要在每个页面的加载事件里面要加个try catch{}。不知道可以不可以