Spring Security - 在哪里设置默认用户的权限?

时间:2014-12-18 15:04:22

标签: java spring spring-mvc spring-security

我正在使用Spring MVC和Security创建一个简单的应用程序。我在数据库中创建了用户权限表,并将它们映射到我的应用程序中。每当有新用户注册时,我都想给他一个" ROLE_USER"默认情况下。

在注册时,我应该在哪个层为他分配一个新角色?

在控制器,DAO,服务中,或作为数据库中的触发器?

此致 汤姆。

1 个答案:

答案 0 :(得分:2)

应该在服务层上。如果您的应用程序中有某种用户服务(例如UserDetailsService的实现),请在此处创建新用户的方法,并在该方法中设置默认角色。

DAO层应该关注对数据库的CRUD访问,因此它不应该处理业务逻辑,例如在创建用户时分配默认角色。

Controller也不适合这种逻辑,因为它是一个表示层组件,用户创建/角色分配是完全独立于表示层的核心逻辑。

我不确定是否为此目的使用数据库触发器,但我个人希望将我的逻辑保留在我的应用程序中,而不是分散在数据库和应用程序之间。