如何在中心位置检查会话

时间:2011-07-24 21:28:45

标签: c# asp.net session

我有一个webforms应用程序。我网站上的几乎所有页面都受到登录的保护。目前我在所有表单的Page_Load事件中检查会话是否存在。有没有办法可以在一个适用于所有页面的地方完成。

3 个答案:

答案 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