我有一个webforms应用程序。我网站上的几乎所有页面都受到登录的保护。目前我在所有表单的Page_Load事件中检查会话是否存在。有没有办法可以在一个适用于所有页面的地方完成。
答案 0 :(得分:3)
创建一个继承自Web.UI.Page的类。在该类中,为Page_Load创建一个事件,并放置检查会话的代码。然后,在您希望通过登录保护的所有页面上,让它们继承您创建的类。
答案 1 :(得分:0)
最好的方法是定义一个抽象页面(比如SessionedPageBase)并使所有其他页面继承它。
您可以在单个页面Page_Load中调用基本Page_Load,或者更好 - 创建一个事件(如其他答案中所建议的那样)。
答案 2 :(得分:0)
根据@rkw的评论中的建议,我认为您可能最好使用表单身份验证而不是自己的自定义机制。
如果您使用表单身份验证,则可以使用web.config中的条目指定受保护的页面。
有关表单身份验证的详细介绍,请参阅http://www.4guysfromrolla.com/webtech/110701-1.shtml