三步获取当前登录用户名的信息和三种方法权限的控制
三步获取当前登录用户名的信息
第一步导入依赖:pom文件
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring.security.version}</version>
</dependency>
第二步:在jsp页面导入 依赖
<%@ taglib prefix="security" uri="http://www.springframework.org/security/tags"%><%--页面权限控制--%>
第三步:使用标签
authentication:可以获取当前登录的用户信息
authorize :可以控制页面上的某些标签是否可以显示
在需要的显示的页面添加例如
<security:authentication property="principal.username"/><%--获取当前用户对象的名字--%>
三种方法权限的控制
//三种权限控制方法......
//==============1............jsr250注解使用(方法级别的权限控制)==========
/*第一步:在spring-security.xml中开启
* <security:global-method-security jsr250-annotations="enabled"/>
*第二步 :
*例如在查询所有方法上添加 @RolesAllowed("ADMIN")
* 表示只有ADMIN权限的用户才能访问
*
* 第三步 : pom文件中导入依赖 <artifactId>jsr250-api</artifactId>
* */
/*--------------2................@security的使用--------------
第一步:@security的使用(方法级别的控制)
<security:global-method-security secured-annotations="enabled"/><!--开启权限权限注解-->
第二步: 在指定方法上使用
@Secured("ROLE_ADMIN") //注意!!!前面默认需要加前缀 ROLE_ 有ADMIN权限的用户才能访问
* */
/* --------------3............基于表达式操作的权限控制(方法级别)------------------
第一步:开启注解
<security:global-method-security pre-post-annotations="enabled" /> <!--开启基于表达式的操作-->
第二步:在方法上添加 可以使用spel的表达式
@PreAuthorize("hasRole('ROLE_ADMIN')")//表示只有ADMIN权限的用户才能访问
@PreAuthorize("authentication.principal.username =='user' ") //只有user用户才可以保存用户信息
* */