我正在使用Spring MVC和Security创建一个简单的应用程序。我在数据库中创建了用户和权限表,并将它们映射到我的应用程序中。每当有新用户注册时,我都想给他一个" ROLE_USER"默认情况下。
在注册时,我应该在哪个层为他分配一个新角色?
在控制器,DAO,服务中,或作为数据库中的触发器?
此致 汤姆。
答案 0 :(得分:2)
应该在服务层上。如果您的应用程序中有某种用户服务(例如UserDetailsService
的实现),请在此处创建新用户的方法,并在该方法中设置默认角色。
DAO层应该关注对数据库的CRUD访问,因此它不应该处理业务逻辑,例如在创建用户时分配默认角色。
Controller也不适合这种逻辑,因为它是一个表示层组件,用户创建/角色分配是完全独立于表示层的核心逻辑。
我不确定是否为此目的使用数据库触发器,但我个人希望将我的逻辑保留在我的应用程序中,而不是分散在数据库和应用程序之间。