0%

springSecurity注解使用

springSecurity注解使用

在使用springboot的时候,大家更习惯于使用注解来进行配置,那么springSecurity注解怎么使用呢

首先开启注解

1
2
3
4
@EnableGlobalMethodSecurity(// Spring Security 开启注解
securedEnabled=true, // 开启@Secured注解,会创建切点,代理@Secured注解的方法
prePostEnabled = true // 开启@PreAuthorize和@PostAuthorize注解
)

@Secured

用户具有哪些角色可以访问,注意要有ROLE_前缀

1
2
3
4
5
@Secured({"ROLE_student","ROLE_admin"})  // 用户具有哪些角色可以访问,注意要有ROLE_前缀
public String test(){
System.out.println("secured");
return "test";
}

@PreAuthorize

方法进入前进行校验

1
2
3
4
5
@PreAuthorize("hasAuthority('admin')")  // 方法进入前进行校验
public String test(){
System.out.println("preAuthorize");
return "test";
}

@PostAuthorize

方法结束后进行校验,可以正常执行,但是返回值需要进行权限校验

1
2
3
4
5
@PostAuthorize("hasAuthority('admin')")  // 方法结束后进行校验,可以正常执行,但是返回值需要进行权限校验
public String test(){
System.out.println("preAuthorize");
return "test";
}

@PreFilter

允许方法调用,但是在进去方法前先过滤输入值

@PostFilter

允许方法调用,但是会过滤方法的结果

欢迎关注我的其它发布渠道