Java Spring Security—在何处设置默认用户';谁的权威?

Java Spring Security—在何处设置默认用户';谁的权威?,java,spring,spring-mvc,spring-security,Java,Spring,Spring Mvc,Spring Security,我正在使用SpringMVC和安全性创建一个简单的应用程序。我已经在数据库中创建了User和Authority表,并将它们映射到我的应用程序中。每当一个新用户注册时,我会默认给他一个“ROLE\u user” 注册时,我应该在哪一层为他分配新角色 在控制器、DAO、服务中,还是作为数据库中的触发器 问候,, Tom.它应该在服务层上。如果应用程序中有某种类型的用户服务(例如,UserDetailsService的实现),请将创建新用户的方法放在那里,并在该方法中设置默认角色 DAO层应该关注对数

我正在使用SpringMVC和安全性创建一个简单的应用程序。我已经在数据库中创建了UserAuthority表,并将它们映射到我的应用程序中。每当一个新用户注册时,我会默认给他一个“ROLE\u user”

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

在控制器、DAO、服务中,还是作为数据库中的触发器

问候,,
Tom.

它应该在服务层上。如果应用程序中有某种类型的用户服务(例如,
UserDetailsService
的实现),请将创建新用户的方法放在那里,并在该方法中设置默认角色

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

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

我不确定是否要为此使用数据库触发器,但就我个人而言,我喜欢保持应用程序中的逻辑不分散在数据库和应用程序之间