camunda授权的一些简单操作
/**
* 授权操作
*/
public class ZccAuthorizationService {
AuthorizationService authorizationService;
@Before
public void init(){
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("camunda.cfg.xml");
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
authorizationService = processEngine.getAuthorizationService();
System.out.println("####");
System.out.println("authorizationService:"+authorizationService);
}
@Test
public void getIdentityService(){
init();
} /**
* select distinct RES.* from ACT_RU_AUTHORIZATION RES WHERE RES.USER_ID_ in ( ? ) order by RES.ID_ asc LIMIT ? OFFSET ?
* 也可以向操作用户那样添加一些查询条件
*/
@Test
public void createAuthorizationQuery(){
List<Authorization> list = authorizationService.createAuthorizationQuery().userIdIn("zcc2").list();
for (int i=0;i<list.size();i++){
Authorization authorization = list.get(i);
System.out.println(authorization.getId());
System.out.println(authorization.getAuthorizationType());
System.out.println(authorization.getResourceId());
System.out.println(authorization.getGroupId());
} } public void createAuthorization(String userId, String groupId, Resource resource, String resourceId, Permission[] permissions){
Authorization authorization=authorizationService.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
authorization.setUserId(userId);
authorization.setGroupId(groupId);
authorization.setResource(resource);
authorization.setResourceId(resourceId);
authorization.setPermissions(permissions);
authorizationService.saveAuthorization(authorization);
} public static class TestResource implements Resource{
String reaourceName;int resrouceType;
public TestResource(String reaourceName,int resrouceType) {
this.reaourceName=reaourceName;
this.resrouceType=resrouceType; } public String getReaourceName() {
return reaourceName;
} public void setReaourceName(String reaourceName) {
this.reaourceName = reaourceName;
} public int getResrouceType() {
return resrouceType;
} public void setResrouceType(int resrouceType) {
this.resrouceType = resrouceType;
} @Override
public String resourceName() {
return null;
} @Override
public int resourceType() {
return 0;
}
} /**
* Preparing: insert into ACT_RU_AUTHORIZATION ( ID_, TYPE_, GROUP_ID_, USER_ID_, RESOURCE_TYPE_, RESOURCE_ID_, PERMS_, REV_ ) values ( ?, ?, ?, ?, ?, ?, ?, 1 )
* Parameters: 601(String), 1(Integer), null, zcc2(String), 0(Integer), 60(String), 2147483647(Integer)
*/
@Test
public void addAuthorization(){
Resource resource1=new TestResource("resource1",100);
Resource resource2=new TestResource("resource2",200);
createAuthorization("zcc2",null,resource1,"60", new Permission[]{Permissions.ALL});
} @Test
public void addAuthorization2(){
Authorization authorization=authorizationService.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
authorization.setUserId("zcc3");
authorization.setResource(Resources.APPLICATION);
authorization.setResourceType(10);
authorization.setResourceId("*");
authorization.setPermissions(new Permission[]{Permissions.ALL});
authorizationService.saveAuthorization(authorization); } /**
* 授权访问用户
*/
@Test
public void addAuthorization3(){
Authorization authorization=authorizationService.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
authorization.setUserId("zcc3");
authorization.setResource(Resources.USER);
authorization.setResource(Resources.APPLICATION);
authorization.setResourceType(1);
authorization.setResourceId("*");
authorization.setPermissions(new Permission[]{Permissions.CREATE,Permissions.UPDATE});
authorizationService.saveAuthorization(authorization); } /**
* 授权访问组
*/
@Test
public void addAuthorization4(){
Authorization authorization=authorizationService.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
authorization.setUserId("zcc3");
authorization.setResource(Resources.GROUP);
authorization.setResourceId("*");
authorization.setPermissions(new Permission[]{Permissions.READ,Permissions.CREATE,Permissions.UPDATE});
authorizationService.saveAuthorization(authorization); } /**
* 授权访问租户
*/
@Test
public void addAuthorization5(){
Authorization authorization=authorizationService.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
authorization.setUserId("zcc3");
authorization.setResource(Resources.TENANT);
authorization.setResourceId("*");
authorization.setPermissions(new Permission[]{Permissions.READ,Permissions.CREATE,Permissions.UPDATE});
authorizationService.saveAuthorization(authorization); } }
camunda授权的一些简单操作的更多相关文章
- camunda用户的一些简单操作
act_id_group:存放组信息act_id_membership:存放用户与组的相关信息act_id_user:存放用户act_id_info:存放用户个人信息act_id_tenant:存放租 ...
- camunda任务的一些简单操作
public class ZccTaskService { TaskService taskService; @Before public void init(){ ProcessEngineConf ...
- python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- Linux下MySQL的简单操作
Linux下MySQL的简单操作 更改mysql数据库root的密码 首次进入数据库是不用密码的: [root@localhost ~]# /usr/local/mysql/bin/mysql -ur ...
- MySQL基本概念以及简单操作
一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- Postgresql部署及简单操作
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚.但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先 ...
- 第十五节:Asp.Net Core中的各种过滤器(授权、资源、操作、结果、异常)
一. 简介 1. 说明 提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权.响应缓存(对请求管道进行短路,以便返回缓存的响应). 防盗链.本地化国际化等,过滤器用于横向处理业务 ...
- RabbitMQ安装以及简单操作应用(针对Windows和C#)
1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...
随机推荐
- Vue页面跳转动画效果实现
Vue页面跳转动画效果实现:https://juejin.im/post/5ba358a56fb9a05d2068401d
- 年度重大升级,IntelliJ IDEA 2019.2 稳定版发布
文章转载自 OSCHINA 社区 [http://www.oschina.net] 期待已久. 7月24日,JetBrains 正式发布了 IntelliJ IDEA 2019.2 稳定版. 作为 I ...
- 怒转一波,此人整理的Flink特别好
Apache Flink:特性.概念.组件栈.架构及原理分析 Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtim ...
- 重写原生alert,弹出层过一会就消失
window.alert = function(str) { if(document.querySelectorAll("div.shieldClass").length!=0){ ...
- python基础--新式类实现单例模式
在网上看了有关python实现单例模式的博客,发现好多都是转载的,并且都是按照python2.x版本旧式类的方式写的. 虽然也能读懂,但对于我这种一开始学的就是python3.x的新手来说,心里总有点 ...
- Charles 抓 HTTPS 包
最新 Charles 破解版下载地址:http://charles.iiilab.com/ 关掉翻墙软件!!!!! 重启 Charles !!!!! 重启浏览器!!!!! 如果是抓手机的HTTPS包, ...
- nginx方向代理详解及配置
一代理服务器1.代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送代理服务器,代理服务器接受客户机请求之后,在向主机发出,并接受目的主机返回的数据,存放在代开服务器的硬盘中,在发送给客 ...
- Python之实现迭代器协议
什么是迭代器: --迭代器(迭代就是循环) 可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator 可迭代对象有: 一类是集合数据类型,如list,tuple,dict,set ...
- Python之随机选择 random
随机选择:random import random # 从一个序列中随机的抽取一个元素 values=[1,2,3,4,56] # 指定取出N个不同元素 print(random.sample(val ...
- js 屏蔽网页快捷键代码
<script> function KeyDown(){ //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键 //alert("ASCII代码是:"+ ...