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