【问题标题】:How to handle user privilege in spring security and inside thyemeleaf如何在 Spring Security 和 thymeleaf 中处理用户权限
【发布时间】:2019-07-18 05:54:39
【问题描述】:

我对 java 并不陌生(我用 javafx 和 jee 做过一些项目)但我对整个春天的事情都是新手 这是我的情况 所有用户都具有相同级别的访问权限,但有些用户具有更多权限,因为他们在数据库中的角色(最多可以有 25 个!(是的,是阶乘的)角色都由主管理员动态创建)。 我的模板由 3 个片段组成(带有管理链接的页眉可供与其角色相关联的用户使用,侧边栏可供所有人使用,页脚) 所以我被困在如何为标题部分创建一个全局变量以检查每个页面加载时的登录用户并选择正确的链接 我知道如何用 jee 和 jsp 做到这一点,但不知道用 spring

提前致谢。

【问题讨论】:

    标签: spring spring-mvc spring-security thymeleaf


    【解决方案1】:

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

    @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),您可以在页面中加载链接

    【讨论】:

    • 正如我之前提到的,我是 Spring 新手,您能否给我一些提示,告诉我在使用 Spring Security 登录后如何执行此操作?
    • 你可以关注这个blog.rimon.xyz/2017/05/…进行spring security实现
    猜你喜欢
    • 2013-07-07
    • 2016-08-11
    • 2010-10-27
    • 2022-08-09
    • 2020-08-29
    • 2014-05-11
    • 2016-03-20
    • 1970-01-01
    • 2017-01-25
    相关资源
    最近更新 更多