我在JBoss Wildfly 8中运行JBPM,并且配置为使用Active Directory身份验证。配置如下:
<security-domain name="jbpm_ldap_domain">
<authentication>
<login-module code="LdapExtended" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://serverIP"/>
<module-option name="java.naming.security.authentication" value="simple" />
<module-option name="bindDN" value="CN=Administrator,CN=Users,DC=domain,DC=com"/>
<module-option name="bindCredential" value="secretpass"/>
<module-option name="baseCtxDN" value="OU=MYOU,DC=domain,DC=com"/>
<module-option name="baseFilter" value="(sAMAccountName={0})"/>
<module-option name="rolesCtxDN" value="ou=MYOU,dc=domain,dc=com"/>
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="roleAttributeID" value="memberOf"/>
<module-option name="roleAttributeIsDN" value="true"/>
<module-option name="roleNameAttributeID" value="cn"/>
<module-option name="allowEmptyPasswords" value="false"/>
<module-option name="throwValidateError" value="true"/>
</login-module>
<login-module code="RoleMapping" flag="optional">
<module-option name="rolesProperties" value="file:${jboss.home.dir}/standalone/configuration/jbpm-roles.properties"/>
<module-option name="replaceRole" value="true"/>
</login-module>
</authentication>
</security-domain>
jbpm-roles.properties:
BPM_ADMIN=admin
BPM_ANALYST=analyst
BPM_DEVELOPER=developer
BPM_USER=user
BPM_MANAGER=manager
截至目前,我正在扫描特定的OU以进行角色和用户扫描。
我想通过以下方式实现:
我不想将所有用户添加到组中,以便在JBPM中为他们提供user
角色。相反,我想将默认角色设置为user
,如果我需要授予admin
角色,我会将用户添加到我为Active Directory中的管理员用户定义的组(BPM_ADMIN = admin)
如何实现这一目标?