【发布时间】:2013-01-18 22:49:00
【问题描述】:
我有一个 Web 项目,它有一个处理一些数据操作的业务层。我想通过在执行方法之前检查是否存在活动的未结束有效Session 来保护部分或所有方法。
我首先想到在课堂上使用Attribute,但我无法正常运行它。由于该类是一个普通类,而不是从System.Web.Page 派生的。调用所需的 BL 实例时,属性类永远不会运行。此外,某些方法可能不需要有效的会话,因此整个类可能不需要完整的安全性。而且,在方法的每个开头添加一行来检查会话听起来不太有希望。
如果你问我为什么需要通过方法来保护,我可以这样解释:
- 这是一个网络项目
- 人们可能会从填充它开始,但在那一刻从未保存它
- 假设屏幕等待大约 30 分钟
- 会话已经结束
- 用户回到电脑前,点击保存按钮,但该过程不应完成
保存操作很容易成为DELETE 操作或SELECT。
由于表单和东西的类型很多,我有BL.ItemManager、BL.VideoManager、BL.ServiceManager等等......所以,这些类中有很多保存、删除和选择方法。
因此,有没有一种巧妙的方法可以通过在运行进程之前检查会话来保护某些方法
【问题讨论】:
标签: c# asp.net security session