前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringSecurity 入门 (四)

SpringSecurity 入门 (四)

作者头像
是小张啊喂
发布2021-08-09 17:38:32
2420
发布2021-08-09 17:38:32
举报
文章被收录于专栏:软件软件

按照前面得理论,我们完成了Token的纷发,权限角色的校验,但是在访问接口的时候发现,当前的系统不能限制权限的访问

如何校验权限角色?

Spring官方文档 11.3.3。方法安全性表达式 通过启用权限角色注解

@PreAuthorize@PreFilter@PostAuthorize@PostFilter

xml启动使用

代码语言:javascript
复制
<global-method-security pre-post-annotations="enabled"/>

注解启用:@EnableGlobalMethodSecurity(prePostEnabled = true)

如何限制接口访问权限?

代码语言:javascript
复制
 /**
 * 添加用户
 *
 * @param user 用户信息
 * @return
 */
@PreAuthorize("hasAnyRole('ADMIN')")
@PostMapping("save")
public R save(@NotNull User user) {
    userService.insert(user);
    return new R(HttpStatus.HTTP_OK, "保存用户成功");
}

@PreAuthorize("hasAnyRole('ADMIN')")标识当前的接口只有ROLE_ADMIN才能访问。

如何更简单的获取用户的信息

受公司项目所用的开发框架启发,结合之前我们的各种猜想,也不难理解这个需要怎么做,既然将权限交给了SpringSecurity,那肯定是从SpringSecurity中获取。

  • 如何将权限交给SpringSecurity管理?
代码语言:javascript
复制
SecurityContextHolder.getContext().setAuthentication(Authentication authentication);

结束语

到此我们算是完成了前后端分离的简单权限角色校验,在这个代码的完善过程中,我有一个很明显的感觉,Spring框架的优美和强大,他很难理解,很难上手,很难懂。不过那也正是其优美所在,一起加油吧!骚年!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何校验权限角色?
    • 如何限制接口访问权限?
      • 如何更简单的获取用户的信息
        • 结束语
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档