• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

带你详细了解Spring Security的注解方式开发

java 搞代码 4年前 (2022-01-05) 21次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了详解spring security四种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们来源gaodai$ma#com搞$$代**码网下面随着小编来一起学习学习吧

默认情况下,不会开启注解,如果想用注解,需要开启注解支持。

在启动类上开启:

@EnableGlobalMethodSecurity(securedEnabled = true)

 @SpringBootApplication @ComponentScan(basePackages = {"com.example"}) // 开启springSecurity注解支持 @EnableGlobalMethodSecurity(securedEnabled = true) public class SeqeurityTestApplication { public static void main(String[] args) { SpringApplication.run(SeqeurityTestApplication.class, args); } } 

以下的注解可以放在Service接口或方法上,也可以写到Controller 的方法上。但通常写在控制器方法上。

常用的注解

(1)@Secured

相当于配置类中的hasRole()方法。

@Secured 是专门用于判断是否具有某个角色。能写在方法上或类上。参数要以 ROLE_开头。

使用:

 // 只有 有角色abc的登录者才能访问这个接口 @Secured(value="ROLE_abc") @RequestMapping (value = "/login1") public String login() { return "login11"; } 

上边的角色对应的是:

(2)@PreAuthorize / @PostAuthorize

@PreAuthorize / @PostAuthorize 都是方法级别的注解。

@PreAuthorize 表示访问方法或类在执行之前先判断权限,大多数情况下使用这个注解,注解的参数和access() 方法参数取值相同,都是权限表达式。

@PostAuthorize 表示方法或类执行结束后判断权限,此注解很少使用。

使用上边两个注解,必须要开启注解支持:

 // 开启springSecurity注解支持 @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) 

测试

 // 只有 有角色abc的登录者才能访问这个接口,参数是access表达式 @PreAuthorize("hasRole('abc')") // 可以写成 @PreAuthorize("hasRole('ROLE_abc')") @RequestMapping (value = "/login1") public String login() { return "login11"; } 

总结

以上就是带你详细了解Spring Security的注解方式开发的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:带你详细了解Spring Security的注解方式开发

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址