目前,我们有一个网站,几乎所有页面都属于某个子类System.Web.UI.Page的页面类。通常,子类控制样式 - 页眉,页脚等 - 在我们想要的所有类的页面类别上显示的东西。
对于一个特定的类,我们检查一些会话变量以查看用户是否可以访问该特定页面。如果没有,他们会被重定向,并被告知他们无法访问。
我已经实现了自定义角色提供程序,并且正在将所有web.config文件更新为。
出现了一个问题:为什么不在页面类中实现基于页面的限制,而不是实现角色提供程序方法。
老实说,当我第一次考虑这个话题时,在我看来,页面类之间存在冲突并且授权。但是,我现在很难想出为什么基于页面类的授权现在不是一个坏主意。
如果您能够理解我在谈论我们在登录过程中设置访问(授权)信息的位置,然后使用此(基于会话)信息来“授权”用户访问基于page-class vs使用内置的ASP .NET角色提供程序方法,我很感激你对这个问题的看法。特别是如果你有这方面的经验。
感谢。
答案 0 :(得分:2)
两种方式都是可能的,恕我直言,这取决于您是否要使用ASP.NET授权方案(允许,拒绝在web.config中)或将其编码到页面中。
我个人更喜欢配置方法,因为它更灵活,允许页面从其他页面类继承,或者使用母版页来提供通用的外观。