Drools Guvnor –管理访问

外部化业务或技术规则对于可伸缩应用程序非常重要,但是应该管理BRMS服务访问。 guvnor使用基于角色的授权提供控件UI访问和操作。

在drools-guvnor参考手册中列出了几种权限类型。 具有所有权限的管理员。 分析师或只读分析师:特定类别的分析师权限。 软件包管理员,软件包开发人员或软件包只读:特定软件包的软件包权限。

通过更新位于服务器部署文件夹中的文件compenent.xml来允许用户身份验证控制

...
<component name="org.jboss.seam.security.roleBasedPermissionResolver><property name="enableRoleBasedAuthorization">false</property>
</component>
// change false to true
...

Jboss服务器中的嵌入式Guvnor服务器控件访问配置:

如果以用户访客模式启动,请停止guvnor服务器,并启用基于角色的授权。

在server / default / conf中的文件login-config.xml中添加drools-guvnor访问策略

<application-policy name="drools-guvnor">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" 
flag="required">
<module-option name="usersProperties">
props/drools-guvnor-users.properties</module-option>
<module-option name="rolesProperties">
props/drools-guvnor-roles.properties</module-option>
</login-module>
</authentication>
</application-policy>

为用户和角色创建具有各自内容的属性文件:

# A roles.properties file for UsersRolesLoginModule (drools-guvnor-roles.properties)
superuser=admin
packuser=package.admin
rulesviewer=package.readonly
# A users.properties file for UsersRolesLoginModule (drools-guvnor-users.properties)
rulesviewer=drools
packuser=proto
superuser=admin

重新启动Jboss guvnor服务器,并使用创建的帐户登录Web界面。

使用轻量级容器Tomcat和Mysql服务器–配置drools-guvnor JAAS身份验证模块

先决条件:使用部署在以Mysql 5.JDK 1.6版运行的Apache tomcat 6中的Drools Guvnor 5.3

0 –使用上下文名称drools-guvnor部署guvnor应用程序。

所有用户都是访客,然后进入管理面板并为用户admin设置授权,或创建具有授权的其他用户。 停止服务器,我们将启用Jaas数据库身份验证

1 –使用mysql数据库中的guvnorusers表创建authdb模式。

CREATE TABLE guvnorusers (`id` bigint(20) NOT NULL AUTO_INCREMENT,`username` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
);INSERT INTO guvnorusers values (1,"admin","admin");

2 –构建自定义的loginModule

下载我的自定义loginModule源customloginmodule_sources编译并将此源导出为Java归档文件(jar)。

3 –在%TOMCAT_HOME%/ lib中

复制loginModule导出的jar文件和mysql连接器jar。

4 –在%TOMCAT_HOME%/ conf / context.xml中,我们添加资源声明

<Resource name="jdbc/URDroolsDS" auth="Container"type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://yourserveradress:3306/authdb" username="dbuser"password="dbuserpassword" maxActive="20" maxIdle="10" maxWait="-1" />

5 –更新%TOMCAT_HOME%/ webapps / drools-guvnor / WEB-INF / components.xml,以配置我们的存储库以使用外部数据库和安全设置

<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="drools-guvnor"/><security:role-based-permission-resolver enable-role-based-authorization="true"/>

6 –更新%TOMCAT_HOME%/ conf / server.xml以添加Realm声明

<Realm className="org.apache.catalina.realm.LockOutRealm">
...
<Realm appName="drools-guvnor" className="com.test.droolsproto.loginModule.Realm.DroolsJaasRealm" dataSourceName="jdbc/URDroolsDS" localDataSource="true"/>
...
</Realm>

7 –在%TOMCAT_HOME%/ conf上创建具有以下内容的文件jaasConfig:

drools-guvnor{
com.test.droolsproto.loginModule.module.DroolsLoginModule
required debug=true;
};

8 –如果您在Linux上运行,或者在具有此内容的Windows上运行setenv.bat,则在运行Tomcat之前在%TOMCAT_HOME%/ bin中创建一个setenv.sh文件(在Linux上工作)

…
JAVA_OPTS=”-Xms128m -Xmx256m -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaasConfig”
export JAVA_OPTS
…

现在是时候重新启动您的guvnor服务器并检查身份验证了!

参考: Drools-guvnor管理访问权限-第1部分 , Drools-guvnor管理访问权限-第2部分,来自NGJWEBLOG博客的JCG合作伙伴 Gael-Jurin Nkouyee。


翻译自: https://www.javacodegeeks.com/2012/04/drools-guvnor-manage-access.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java文件操作和_JAVA文件操作类和文件夹的操作

JAVA文件操作类和文件夹的操作package com.gamvan.tools;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import jav…

CCNA基础知识摘录

cisco设备的启动要点&#xff1a;1、检测硬件(保存在rom)2、载入软件&#xff08;IOS&#xff09;&#xff08;保存在Flash&#xff09;3、调入配置文件&#xff08;密码&#xff0c;IP地址&#xff0c;路由协议都保存在此&#xff09;&#xff08;此文件保存在NVRAM&#xff0…

【VS开发】IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)

1、htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short netshort); ntohl( )-----网络顺序转换成主机顺序 u_long PASCAL FAR htonl (u_long hostlong); u_short PASCAL FAR htons (u_short hostshort); htonl ()-----主机顺序转…

SOA示例应用程序

SOA描述了一组用于创建松散耦合的&#xff0c;基于标准的&#xff0c;与业务相关的服务的模式&#xff0c;由于描述&#xff0c;实现和绑定之间的关注点分离&#xff0c;因此提供了新的灵活性。 近年来&#xff0c;至少在参与大多数信息技术活动的人们中&#xff0c;面向服务的…

java 分贝_java11教程--jhsdb命令

您可以使用该jhsdb工具将Java进程或崩溃的Java虚拟机(JVM)的核心转储连接。概要jhsdb clhsdb [--pid pid | --exe executable --core coredump]jhsdb debugd [options] (pid | executable coredump) [server-id]jhsdb hsdb [--pid pid | --exe executable --core coredump]jhsd…

Oracle使用startup与startup force启动的区别

1. startup 就是正常启动数据库&#xff0c;没什么好说的。 2. startup force 是shutdown abort startup的组合&#xff0c;即强制关闭数据库 正常启动数据库&#xff0c;想快速重启数据库时胆子大的人用的。 startup force测试 在一个窗口执行startup force 命令 点击(此…

js点击button按钮跳转到页面代码

www.111cn.net 编辑:smoke 来源:转载在网页中button按钮不具备a标签的属性了&#xff0c;如果我们要给button 按钮增加跳转事件我们可以在它的确onclick事件上点击跳转js来实现&#xff0c;下面我来给大家介绍一些常用的方法。点击按钮怎么跳转到另外一个页面呢&#xff1f;我们…

Mac OS X上的Java Memcached

介绍 在本文中&#xff0c;我将解释如何&#xff1a; 在Mac OS X上安装和配置Memcached 在Java应用程序中使用Memcached 我不会过多地介绍在您的应用程序中使用分布式缓存的好处&#xff0c;但是至少让我们提供一些在企业门户&#xff08;在我的情况下为eXo平台&#xff09;…

Js实现内容向上无缝循环滚动

当前项目有一个类似公告向上滚动的需求&#xff0c;在网上搜索到一个比较棒的程序&#xff0c;现摘录如下&#xff1a; //document.getElementById()的最简化应用 function $(element) {if (arguments.length > 1) {for (var i 0, length arguments.length, elements [];…

Repeater 中TextBox 触发TextChanged事件

两种方法 1.TextBox 绑定TextChanged 并设置AutoPostBack "true" &#xff0c;如果不设置AutoPostBack "true"则不会触发TextChanged事件&#xff0c;然后在对应的方法里面循环Repeater查找改变项 部分代码 <ItemTemplate ><tr><td style &…

什么是Spring Integration?

随着Spring Integration项目逐渐获得越来越多的采用和兴趣&#xff0c;企业集成或企业开发领域的开发人员很可能会遇到它。 他们可能会发现它很有趣&#xff0c;但并没有完全理解它的含义&#xff0c;所要解决的问题&#xff0c;可以从中获取更多信息以及它在ESB和其他SOA基础结…

java jmap mat_java内存调优之jmap,jstack,mat

查看整个JVM内存状态jmap -heap [pid]要注意的是在使用CMS GC 情况下&#xff0c;jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]可以通过jmap -histo [pid] | head -20查看top20的实例个数以及内存占用情况导出整个JVM 中内存信息&a…

lftp

-f&#xff1a;指定lftp指令要执行的脚本文件&#xff1b; -c&#xff1a;执行指定的命令后退出&#xff1b; --help&#xff1a;显示帮助信息&#xff1b; --version&#xff1a;显示指令的版本号。下载 get当然是可以的&#xff0c;还可以&#xff1a; mget -c *.pdf #把所有…

Apache Shiro第1部分–基础

Apache Shiro &#xff08;最初称为JSecurity&#xff09;是Java安全框架。 它被接受并于2010年成为Apache顶级项目。它的目标是功能强大且易于使用。 该项目正在积极开发中&#xff0c;用户和开发人员的邮件列表均处于活动状态。 最重要的区域记录在其网页上。 但是&#xff0…

javascript 之Object内置对象

Object.defineProperty(obj, prop, descriptor)转载于:https://www.cnblogs.com/lihuali/p/5632460.html

java员工编号程序_用JAVA编写一个employee类 为员工自动产生员工号

差不多就是这个感觉..class Employee {/*** param args*/private int number;private String name;private String birthday;static int IDnumber0;public Employee(String name,String birthday){IDnumber;this.setNumber(IDnumber);this.setName(name);this.setBirthday(birt…

分解质因数-洛谷P3200 [HNOI2009]有趣的数列

https://www.luogu.org/problem/show?pid3200 首先&#xff0c;我们不能保证要求的数的逆元和模域互质&#xff1b; 所以我们要用分解质因数来抵消除法&#xff1b; 其实逆元的话即使可行也会超时&#xff1b; 那么我转载了&#xff0c;实在没什么可以说的&#xff1b; 另…

Java中的安全加密

上一次我写关于密码学的文章时 &#xff0c;我概述了Apache Shiro加密API&#xff0c;并展示了如何使用其两个对称密码。 我还写道&#xff1a;“您不需要在应用程序中对敏感数据进行加密和解密。” 我了解了更多有关密码的知识&#xff0c;发现您需要了解更多信息。 我写的内容…

真机调试问题

1.拔掉插头重新插入 2.转载于:https://www.cnblogs.com/sanvow/p/5633976.html

vsftp

它的配置文件在/etc/vsftpd/vsftpd.conf在里面加入 anonymous_enableYES &#xff03;允许匿名用户登录FTPanon_upload_enableYES &#xff03;打开匿名用户的上传权限anon_mkdir_write_enableYES &#xff03;打开匿名用户创建目录的权限anon_other_write_enableYES …