检票口安全性 - 更改含量用户的角色



我在正在开发的应用程序中使用Wicket 7.0,我想在开发过程中使用inmemory-users的一些建议。

这个想法是让我在登录之前设置一个单一的犯罪用户。

我的第一个预期方法是通过"用户名"和密码实例化用户,但没有任何角色。然后,我想通过在登录格式中的组件中滴定复选框添加/删除角色,并最终使用预定义的用户/PWD登录。

当应用程序运行时,inmemory-user的实例可以更改其角色吗?还是我应该删除它并每次希望它具有不同的角色时创建一个新实例?这甚至是最好,最简单的方法吗?

这仅在开发过程中为方便起见。

预先感谢

注入UserDetailsManager并使用其updateUser()方法更新其角色:

@Service
public class SingleUserSwitchService {
    @Autowired
    private UserDetailsManager userDetailsManager;
    public void changeUserRoles(String ... roles) {
        Collection<GrantedAuthority> roles = ... // new roles
        User user = new User("login", "password", roles);
        userDetailsManager.updateUser(user);
    }
}

在这里,我假设您的用户登录为"登录",并且您的硬码密码。

然后,您只需要用所需角色的列表来调用您的服务。

最新更新