drools的guvnor_Drools Guvnor –管理访问

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

drools的guvnor

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

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

相关文章

安卓实现序列化之Parcelable接口

安卓实现序列化之Parcelable接口 1.实现序列化的方法&#xff1a; Android中实现序列化有两个选择&#xff1a;一是实现Serializable接口&#xff08;是JavaSE本身就支持的&#xff09; 。一是实现Parcelable接口&#xff08;是Android特有功能&#xff0c;效率比实现Serializa…

容器对象模式。 一种新的测试模式。

如果您搜索什么是页面对象的描述&#xff0c;就会发现页面对象模式为我们提供了一种以可重用和可维护的方式对内容建模的常识方法。 还要指出&#xff1a;在Web应用程序的UI中&#xff0c;您的测试与某些区域交互。 Page Object只是将它们建模为测试代码中的对象。 这减少了重…

字符串工具类,随机生成字符串

字符串工具类&#xff0c;随机生成字符串package main.java.utils;import java.util.Map; import java.util.Random;public class StrUtil {/*** 定义一个字符串&#xff08;A-Z&#xff0c;a-z&#xff09;*/private static final String STR_ONE "abcdefghijklmnopqrs…

css与网页制作

百度&#xff1a;常用DIVCSS命名大全集合转载于:https://www.cnblogs.com/Tpf386/p/7100017.html

Oracle修改密码文件_转载:Oracle修改用户密码

转载一位大佬的博文&#xff0c;用于帮助常忘记密码的我和某些同道。1. 通过系统管理员(system)修改密码修改普通用户密码相对来说简单很多。1.1 登录系统管理员账户。一般为system。1.2 查询当前系统存在的用户。这一步属于辅助性查找&#xff0c;可以不执行。select username…

爬虫突破IP封锁

爬虫突破IP封锁 爬取网站最常出现的问题就是IP封锁的问题,较为简单的方法就是购买有效IP,免费IP虽然不花钱,但是不好用,做爬取测试的时候还勉强能用。 我从快代理购买付费的IP,把自己的电脑的IP加入白名单,再使用其提供的Api获取有效IP进行爬取。 package com.zhq.crawle…

Python异常处理和进程线程

写在前面 最坏的结果&#xff0c;不过是大器晚成&#xff1b; 一、异常处理 - 1.语法错误导致的异常 - 这种错误&#xff0c;根本过不了python解释器的语法检测&#xff0c;必须在程序运行前就修正&#xff1b; - 2.逻辑上的异常 - 即逻辑错误&#xff0c;例如除零错误&#xf…

在Oracle中使用JDBC插入功能

介绍 在本文中&#xff0c;我将显示一个示例&#xff0c;说明如何使用Oracle支持的JDBC批量插入功能&#xff0c;这些功能特定于Oracle。 有关为什么可能希望一般使用批量插入的更多详细信息&#xff0c;例如&#xff0c;在某些情况下需要考虑性能&#xff0c;请参阅Joormana …

css语法和规则

语法&#xff1a; Selector{sRule!important;} 说明&#xff1a; 提升指定样式规则的应用优先权。 IE6及以下浏览器有个比较显式的支持问题存在&#xff0c;!important并不覆盖掉在同一条样式的后面的规则。请看下述代码&#xff1a; 示例代码&#xff1a; div{color:#f00!impo…

vue 代理重定向_关于vue-router,路由重定向的使用分析

看之前的项目&#xff0c;突然发现一个不算bug的bug&#xff0c;之前也是一直没有想到&#xff0c;现在发现之后越来越觉得有必要改掉&#xff0c;项目用的是vue做的&#xff0c;自然切换用的就是路由&#xff0c;一级路由包括&#xff1a;首页、记录和个人中心&#xff0c;二级…

WebMagic爬取58同城租房数据

WebMagic爬取58同城租房数据 1.WebMagic webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。 webmagic的主要特色: 完全模块化的设计,强大…

python xposed_Xposed及类Xposed框架收集

常见xposed框架xposed--原生Cydia for Androidmagisk--挂载magisk.imgvitrualXposed--双开技术EXposed --太极VAEXposedVirtualHook :VirtualHook 修改 VirtualApp 的核心代码&#xff0c;提供 Hook 注入代码的窗口VirtrualApp --多开LEB 的平行空间 --双开大师360的DroidPlugi…

[bzoj3532][Sdoi2014]Lis

来自FallDeram的博客&#xff0c;未经允许&#xff0c;请勿转载&#xff0c;谢谢。 给定序列A&#xff0c;序列中的每一项Ai有删除代价Bi和附加属性Ci。请删除若项&#xff0c;使得4的最长上升子序列长度减少至少1&#xff0c;且付出的代价之和最小&#xff0c;并输出方案。如果…

java静态导入_Java中越来越多地接受静态导入吗?

java静态导入曾经有一段时间&#xff0c;至少在礼貌的社会中&#xff0c;人们普遍认为使用“ 不是 ”一词是不可接受的。 确实&#xff0c;在那个时候&#xff08;也许直到今天&#xff09;&#xff0c;很多人确实&#xff08;也确实&#xff09;不认为这不是一个真实的词。 尽…

Vue+ECharts的小示例

VueECharts做数据可视化1. Vue Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。另一方面&#xff0c;当与现…

将MongoDB集成到您的Spring项目

本文展示了如何通过注释配置将MongoDB集成到您的spring项目中。 我们将从Gradle配置开始。 group com.gkatzioura.spring version 1.0-SNAPSHOTbuildscript {repositories {mavenCentral()}dependencies {classpath("org.springframework.boot:spring-boot-gradle-plugi…

汇编学习笔记(3)-80x86指令集

前言 &#xff08;1&#xff09;指令的一般格式 [标号:] 助记符 [操作数1 &#xff0c; [操作数2]] [; 注释] 一行一条指令 助记符就是指令的名称&#xff0c;每条指定必定有个助记符。 助记符前面的标号是给汇编编译器看的&#xff0c;由我们自己取名&#xff0c;一般取表示本…

osg 三维gis开发_三维GIS平台的可视化应用 (下)

上一篇主要对三维GIS的基础数据和三维模型进行了一点说明&#xff0c;本篇将接着聊剩下的部分&#xff0c;主要是三维GIS平台能够支持什么样的场景展示&#xff0c;并来对平台的应用进行一些介绍。没看过上篇的朋友可以先了解一下再看本篇&#xff1a;MonoLog&#xff1a;三维G…

Servlet拦截器

Servlet拦截器1.LoginFilter package main.java.filter;import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException;public class LoginFi…

前端HTML介绍

一、HTML简介HTML定义&#xff1a;  超级文本标记语言是标准通用标记语言下的一个应用&#xff0c;也是一种规范&#xff0c;一种标准&#xff0c;它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件&#xff0c;通过在文本文件中添加标记符&#xff…