对于我服务中的每个功能,我都有一个安全查找来确保用户有权访问该功能。在数据库或会话中存储安全性查找?
查找函数被调用,如:
SecurityCheck("Insert", "Book", Session.UserID);
查找表看起来是这样的:
| Select All | Select Own | Insert | Update | Delete |
Book | true | true | false | false | false |
Author | true | true | true | true | true |
...
查找表将最终被30-40行。
我读过复杂的对象应该不会存储在会话中。这个对象通常被认为太大而无法存储在我的会话中?
对每个函数的额外数据库调用是否会显着减慢我的应用程序?适合放置这张桌子的地方在哪里?