• spring security @Secured()、 @PreAuthorize() 、 @RolesAllowed()


    在Spring security的使用中,为了对方法进行权限控制,通常采用的三个注解,就是@Secured()、@PreAuthorize()、@RolesAllowed()。

    示例,修改用户密码必须是ADMIN权限,可以用三种方法:

    @Secured({"ROLE_ADMIN"})
    public void changePassword(String username, String password);
    
    @RolesAllowed({"ROLE_ADMIN"})
    public void changePassword(String username, String password);
    
    @PreAuthorize("hasRole(‘ROLE_ADMIN‘)")
    public void changePassword(String username, String password);

    1. @Secured(): secured_annotation

    使用前配置Spring Security (无论是xml方式,还是Spring boot注解方式,都需要指定secured-annotations)

    XML: <global-method-security secured-annotations="enabled"/>
    
    Spring boot: @EnableGlobalMethodSecurity(securedEnabled = true)

    2. @RolesAllowed(): jsr250-annotations

    使用前配置Spring Security (无论是xml方式,还是Spring boot注解方式,都需要指定jsr250-annotations)

    XML: <global-method-security jsr250-annotations="enabled"/>
    
    Spring boot: @EnableGlobalMethodSecurity(jsr250Enabled = true)

    3. @PreAuthorize(): pre-post-annotations

    使用前配置Spring Security (无论是xml方式,还是Spring boot注解方式,都需要指定pre-post-annotations)

    XML: <global-method-security pre-post-annotations="enabled"/>
    
    Spring boot: @EnableGlobalMethodSecurity(prePostEnabled = true)
  • 相关阅读:
    HtmlParser 2.0 中文乱码问题
    关于phpmyadmin中添加外键的做法
    jquery easyui Tab 引入页面的问题
    Python用户交互input()和print()
    Python运算符
    计算机硬件基础知识(五)操作系统发展史
    Python学习0304作业
    Python的垃圾回收机制
    Python的两种运行程序的方式
    Python发展史和编程语言的分类
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/10548861.html
Copyright © 2020-2023  润新知