Activiti 自定义用户管理和组管理

本文介绍如何在Activiti中自定义用户和组管理,连接到第三方如keystone,通过创建自定义的SessionFactory、UserManager和GroupManager,实现与第三方用户系统的交互。详细阐述了实现过程和注册步骤,强调理解源码的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Activiti 自定义用户管理和组管理

最近在研究如何自定义Activiti用户和组管理模块(Example:连接keystone用户管理模块,实际当中使用时当然可以将keystone转变为其他第三方用户管理模块),整理了一下心得,避免后人踩坑。

本文站立在activiti源代码中的activiti-webapp-rest2模块的肩膀上。

借助大神—Nadav Azaria— 2012年的文章《Activiti Authentication And Identity Management Tutorial》 开始全新的自定义之旅。

Activiti为我们提供的这样的入口,想想activiti的ldap模块的原理就应该清楚了,不过仍然疑惑的是如何才能构建activiti能够识别的class,并且如何向activiti引擎进行注册?

很显然,SessionFactory为我们提供了这样的接口。

首先,建立OwnUserManagerFactory和OwnGroupManagerFactory 均需继承activiti的SessionFactory。稍后我们将实现ManagerFactory中引用的class。

public class OwnUserManagerFactory implements SessionFactory {
   
   

    private KeystoneConnection keystoneConnection;

    public OwnUserManagerFactory (KeystoneConnection keystoneConnection) {
        this.keystoneConnection = keystoneConnection;
    }

    public Class<?> getSessionType() {
        return UserIdentityManager.class;
    }

    public Session openSession() {
        return new OwnUserManager(this.getKeystoneConnection());
    }

    public KeystoneConnection getKeystoneConnection() {
        return keystoneConnection;
    }

    public void setKeystoneConnection(KeystoneConnection keystoneConnection) {
        this.keystoneConnection = keystoneConnection;
    }
}
public class OwnGroupMagagerFactory implements SessionFactory {
   
   

    private KeystoneConnection keystoneConnection;

    public OwnGroupMagagerFactory(KeystoneConnection keystoneConnection) {
        this.keystoneConnection = keystoneConnection;
    }

    @Override
    public Class<?> getSessionType() {
        return GroupIdentityManager.class;
    }

    @Override
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值