spring-hibernate服务/ dao安全设计查询

时间:2011-05-13 21:08:28

标签: java hibernate spring design-patterns

我正在尝试创建各种服务,例如:

UserService
UserPermissionService
AddressBookService

哪个会访问dao,例如:

UserDao
UserPermissionDao
AddressBookDao
CompanyDao

这些将使用Spring-Hibernate堆栈并打包在多个webapps的后端jar中。我希望服务功能可用,具体取决于调用用户对象的权限。此外,调用者(用户)对象将具有调用用户的权限。

查询:我应该将呼叫者传递给每个服务方法调用,然后检查其权限吗?或者有更好的方法使用'Spring / AOP'和/或'Factory Pattern',其中Caller对象可用于Service方法。

1 个答案:

答案 0 :(得分:2)

这种情况的一种模式是将安全令牌存储在ThreadLocal中,并在服务方法中首先要求该令牌具有相应的权限。