权限控制之动态权限注解使用说明|学习笔记

简介: 快速学习权限控制之动态权限注解使用说明

开发者学堂课程【Spring Security知识精讲与实战演示(二)权限控制之动态权限注解使用说明】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/731/detail/13051


权限控制之动态权限注解使用说明

 

内容介绍

一、注解演示

二、注解步骤

三、结尾

 

一、注解演示

Secured-annotations=’’enabled’’

Pre-post-annotations=’’enabled’’

Jsr250-annotations=’’enabled’’

看这三种注解是怎么来的。刚才的注解就是可以加一个备注,这个就是//springSecurity 内部制定的注解。

 

二、注解步骤

@RolesAllowed() 这种写法跟上面是一样的,它里面也是一个数组,可以看到,以 @RolesAllowed(){“ROLE_PRODUCT’’,’’ROLE_ADMIN}) 这个为例来测试,这个就是 jsr250 注解,写这个注解必须要开启jsr250,这个注解对应哪一个注解支持要知道,在企业开发中开一个就可以,三个都开也可以,但注解和注解支持一定是对应的配套的,不能写乱,比如开启了secured,但是写的是 jsr250是不可以的,再一次来测试。重新启动,依然使用xiaoma登录,现在他是访问到了,订单这里边应该是Rose alone product,出现刷新不过来的情况,可以把这个 target 删掉。然后重新启动。已经加了这个注解,它就会起作用,重新下载。删掉 target 是要重新编译的,重新启动登录,继续用 xiaoma 登陆,这个订单没有问题 product 也没问题,继续在这里边写上一个叫 preAuthorize()这个就是 //spring 的 el 表达式注解,可以写一个没写过的 preAuthorize(“hasAnyAuthority(‘ROLE_PROCT’,’ROLE_ADMIN’)”)能写 el 表达式的,前提条件都是上面的这一句, use-expressions=”true”如果没有这个配置,页面最左侧header这地方就已经用过el表达式了,假如没有将这个改成true,那边就不好用,当然也可以去改配置使用,

再一次来测试,这里边也可以继续用xiaoma来登录,403没问题,现在可以直接让他访问首页,可以看到它登录成功了,那403就是权限不足,如果说访问product,是不可以的。

 

三、结尾

注意注解不要记乱,首先第一个,secured 这个是 spring security 内部的自己写的注解,@RolesAllowed()这个是 jsr250注解,最后一个是 spring 的 el 表达式注解,对应的注解开启的位置要与其注解支持对应,测试出不来效果的情况,针对情况做出调整,必要时重新启动。

image.png

相关文章
|
5月前
|
安全 Java 关系型数据库
实现权限控制的方法
实现权限控制的方法
|
7月前
|
数据库 数据安全/隐私保护
开发指南024-业务类权限
有些权限我称之为业务权限
|
7月前
|
数据安全/隐私保护
使用自定义注解,实现按钮权限控制【项目】
使用自定义注解,实现按钮权限控制【项目】
60 0
|
7月前
|
Kubernetes API 数据安全/隐私保护
k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)
k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)
253 0
|
数据安全/隐私保护
服务器端方法级权限控制----------@Secured注解的使用
服务器端方法级权限控制----------@Secured注解的使用
|
编译器 数据安全/隐私保护 C语言
C++ 权限控制,权限的继承(上)
C++ 权限控制,权限的继承
|
编译器 数据安全/隐私保护 C语言
C++ 权限控制,权限的继承(下)
C++ 权限控制,权限的继承
|
安全 前端开发 Java
权限控制之开启动态权限注解支持|学习笔记
快速学习权限控制之开启动态权限注解支持
权限控制之开启动态权限注解支持|学习笔记
|
安全 前端开发 Java
权限控制之异常处理方式三|学习笔记
快速学习权限控制之异常处理方式三
权限控制之异常处理方式三|学习笔记
|
安全 Java 数据安全/隐私保护
权限控制之异常处理方式一|学习笔记
快速学习权限控制之异常处理方式一
权限控制之异常处理方式一|学习笔记