如何在春季安全性和胸腺内处理用户特权

时间:2019-02-24 19:50:01

标签: spring spring-mvc spring-security thymeleaf

我对Java并不陌生(我曾用javafx和jee做过一些项目),但我对整个春季事物还是陌生的 这是我的情况 所有用户都具有相同的访问级别,但某些用户具有更高的访问权限,具体取决于他们在数据库中的角色(最多可以有25个(是析因)角色,这些角色都是由主管理员动态创建的)。 我的模板由3个片段组成(带有管理员链接的页眉可供与他们的角色相关联的用户使用,对所有人和页脚都可用的侧边栏) 因此,我陷入了如何为页眉部分创建全局变量的问题,以在每次页面加载时检查登录用户并选择正确的链接的问题 我知道如何使用jee和jsp而不是spring

先谢谢了。

1 个答案:

答案 0 :(得分:0)

使用存储库,并按如下所示登录后保存会话数据

@Repository
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class LoginRepository {

    private String accessToken;  
    private String name;
    private String password;
    private String userId;
    private String rolename;
    private String department;
}

然后使用@ControllerAdvice将其传递给每个Model

 @Autowired
    LoginRepository settings;
    @ModelAttribute
    public void addAttributes(Model model) {

            model.addAttribute("rolenamecode", settings.getRolename());
        .......

}

然后根据您的角色或其他参数(th:if),您可以在页面中加载链接