我正在尝试将Stripes Web应用程序转换为Grails.Stripes应用程序使用Spring Security,但我希望Grails应用程序使用Spring Security Grails插件.
该应用程序已经有User和Role我需要重用,即我不能使用的Grails的领域类(Java)的类S2-快速启动脚本生成.
Spring Security插件文档描述了如何使用现有的User域类.步骤似乎是:
UserDetails从现有User域类读取的实现UserDetailsService返回(1)实例的自定义实现userDetailsService.但是,文档不提供有关如何使用现有Role类的任何信息以及表示User和之间的多对多关系的类Role.
利用现有的其他措施是必要的Role,User以及UserRole类与Grails的春季安全插件?如果我不想生成任何域类,是否有任何理由让我运行s2-quickstart脚本?
最后,你需要的是一个新的
GrailsUser
想必GrailsUser这里是指自定义UserDetails实现?在我的情况下,我可能只是直接实现接口.这样的事情看起来合情合理吗?
class UserAdapter implements UserDetails {
private String password
private Collection<GrantedAuthority> springRoles
UserAdapter(User user) {
this.password = user.password
Collection<Role> roles = // load legacy Role objects
this.springRoles = roles.collect …Run Code Online (Sandbox Code Playgroud)