在学习Activiti时就想解决如何抛弃系统自带的Act_ID_XXX,毕竟很多应用都有自己的权限控制组件,且系统自带的权限控制又不能满足绝大多数企业需要, 使用自己的一套权限控制也有利于后期的维护。因为刚刚接触Activiti,基本上什么都不清楚,只好baidu、google。可惜baidu里面一大堆从官网copy的用户指南,我虽不才,但简单的E文还是可以看懂的。没发现什么有用的价值。
难道Activi5.8不支持自定义扩展吗?因为 Activiti是在jbpm4.X的基础上发展而来的,而Jbpm4.4是支持这种扩展的,所以我坚信Tom baeyens没有那么傻吧。于是在搜寻引擎里面狂搜IdentitySessio。可是。。。可是。。。好不容易找到的。。。。竟然在5.8版本里已经被舍弃了!为什么?为什么?
一切回归到原点,只好去官网论坛求助,幸运的是,已经有很多人提出过类似的问题了。看来这下解决问题了。:)
废话不多说,直接上code
1,MyUserManager/MyGroupManager extends UserManager/GroupManager
2,MyUserManagerFactory/MyGroupManagerFactory implements SessionFactory
import com.tds.activit.impl.MyUserManager;
public class MyUserManagerFactory implements SessionFactory {
@Override
public Class<?> getSessionType() {
return UserManager.class;
}
@Override
public Session openSession() {
return new MyUserManager();
}
}
import com.tds.activit.impl.MyGroupManager;
public class MyGroupManagerFactory implements SessionFactory{
@Override
public Class<?> getSessionType() {
return GroupManager.class;
}
@Override
public Session openSession() {
return new MyGroupManager();
}
}
3,注入processEngineConfiguration
<property name="customSessionFactories">
<list>
<bean class="org.activiti.examples.my.factorys.MyUserManagerFactory" />
<bean class="org.activiti.examples.my.factorys.MyGroupManagerFactory" />
</list>
</property>完成。手工。
本文详细介绍了如何在Activiti中实现自定义权限控制,包括创建自定义用户管理器和组管理器类,以及在配置文件中注入这些自定义扩展。
3308

被折叠的 条评论
为什么被折叠?



