使用Spring-Security进行权限控制、安全验证,就是这么简单

Spring权限控制介绍

一、服务器端方法级权限控制

在服务端我们通过Spring-Security提供的注解对方法进行权限控制。Spring-Security支持三种类型的注解,JSR-250注解、@Secured注解和支持表达式的注解。这三种注解在默认都是没有启用的,需要单独通过global-method-security元素的对应属性进行启动。

  • JSR-250注解
    1、需要在spring-security.xml中开启
    在这里插入图片描述
    2、在指定方法上使用
    在这里插入图片描述
    3、必须在pom.xml中导入
    在这里插入图片描述
  • @Secured注解
    @Secured注解标注的方法进行权限的控制的支持,其默认值为disabled
    1、开启使用
    在这里插入图片描述
    2、在指定的方法上使用
    在这里插入图片描述

注意事项:在使用JSR250时,可以省略ROLE_前缀,而我们现在使用的@Secured是不能省略前缀的

  • 支持表达式的注解
    1、开启
    在这里插入图片描述在spring-security中进行配置

    2、使用,可以使用SPEL表达式
    在这里插入图片描述可以指定单独的用户访问权限,也可以使用preAuthorize为方法提供权限控制。它的功能更加强大,可以拓展参考SPEL表达式的学习。

二、页面端标签控制权限

spring-security提供
1、导入相关的配置文件
在这里插入图片描述
2、在jsp页面导入
在这里插入图片描述
3、在页面上使用
在这里插入图片描述在这里插入图片描述此标签在jsp页面可以显示正在操作的用户的用户名

在这里插入图片描述
此标签可防止在html标签之上来控制是否显示,管理员才可以显示相应标签

4、在sprin-security中修改配置使用SPEL表达式
在这里插入图片描述
同时修改:
在这里插入图片描述如果不想修改可以在spring-security.xml中配置

 <bean id="defaultWebSecurityExpressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler"></bean>
发布了12 篇原创文章 · 获赞 10 · 访问量 427

猜你喜欢

转载自blog.csdn.net/weixin_43193358/article/details/105223181