/**
* 授权操作
*/
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授权的一些简单操作的更多相关文章

  1. camunda用户的一些简单操作

    act_id_group:存放组信息act_id_membership:存放用户与组的相关信息act_id_user:存放用户act_id_info:存放用户个人信息act_id_tenant:存放租 ...

  2. camunda任务的一些简单操作

    public class ZccTaskService { TaskService taskService; @Before public void init(){ ProcessEngineConf ...

  3. python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

  4. Linux下MySQL的简单操作

    Linux下MySQL的简单操作 更改mysql数据库root的密码 首次进入数据库是不用密码的: [root@localhost ~]# /usr/local/mysql/bin/mysql -ur ...

  5. MySQL基本概念以及简单操作

    一.MySQL   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...

  6. 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

    进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...

  7. Postgresql部署及简单操作

    PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚.但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先 ...

  8. 第十五节:Asp.Net Core中的各种过滤器(授权、资源、操作、结果、异常)

    一. 简介 1. 说明 提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权.响应缓存(对请求管道进行短路,以便返回缓存的响应). 防盗链.本地化国际化等,过滤器用于横向处理业务 ...

  9. RabbitMQ安装以及简单操作应用(针对Windows和C#)

    1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...

随机推荐

  1. JQuery判断radio(单选框)是否选中和获取选中值

    一.设置选中方法 代码如下: $("input[name='名字']").get(0).checked=true; $("input[name='名字']"). ...

  2. Git文件操作命令

    添加文件 git add 添加指定文件: git add test.txt Test.java 添加所有文件: git add . 取消添加文件 git reset HEAD – filename g ...

  3. C++中的转换构造函数

    1,类型转换函数主要功能就是做类型转换,类型转换是将一个数据从 A 类型转换  到 B 类型,有隐式类型转换和强制类型转换两种: 2,再论类型转换: 1,标准数据类型之间会进行隐式的类型安全转换: 1 ...

  4. vue基础学习一

    写一个例子,告诉你VUE的方便之处,就是双向绑定,不需要操作DOM对象,而是操作数据 div中msg 和JS中msg是一一对应的 然后看浏览器中 然后如果我想改变浏览器中值,我在console这么操作 ...

  5. 选择器与过滤器(全)————JQ

    JQ基础--选择器与过滤器(全) JQ选择器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  6. java 多线程 线程安全及非线程安全的集合对象

    一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用.防止出现数据不一致或 ...

  7. vector<类指针>清理

    https://www.cnblogs.com/nanke/archive/2011/05/10/2042662.html 1.vector<class> &aa,作为函数参数 2 ...

  8. eclipse调试代码无法查看jdk变量解决方法

    1.无法查看jdk变量原因 oracle在公司在编译jdk的时候,把debug给关闭了,现在需要我们自己重新打包编译一次 2.eclipse创建一个普通java项目,取名叫jdk 3.导入jdk源码, ...

  9. 离线安装gcc_rpm(centos下安装gcc的方法之一)

    .解压gcc_rpm.tar.gz (我的CSDN账号下载过) tar -zxvf gcc_rpm.tar.gz .解压完进入文件夹,执行以下命令,挨个执行(如果报依赖错误,就加上"--fo ...

  10. webpack 学习1 安装构建项目

    本文中使用的webpack版本是4+,请注意区分 node.js安装 node.js下载地址 选择较低版本的稳定版下载,下载完成后得到的是一个msi文件,点击安装即可 安装完毕以后新建一个文件夹,并在 ...