drools的guvnor_Drools Guvnor –管理访问
drools的guvnor
外部化業(yè)務(wù)或技術(shù)規(guī)則對(duì)于可伸縮應(yīng)用程序非常重要,但是應(yīng)該管理BRMS服務(wù)訪問。 guvnor使用基于角色的授權(quán)提供控件UI訪問和操作。在drools-guvnor參考手冊(cè)中列出了幾種權(quán)限類型。 具有所有權(quán)限的管理員。 分析師或只讀分析師:特定類別的分析師權(quán)限。 軟件包管理員,軟件包開發(fā)人員或軟件包只讀:特定軟件包的軟件包權(quán)限。
通過更新位于服務(wù)器部署文件夾中的文件compenent.xml來允許用戶身份驗(yàn)證控制
... <component name="org.jboss.seam.security.roleBasedPermissionResolver><property name="enableRoleBasedAuthorization">false</property> </component> // change false to true ...Jboss服務(wù)器中的嵌入式Guvnor控制訪問配置:
如果以用戶訪客模式啟動(dòng),請(qǐng)停止guvnor服務(wù)器,并啟用基于角色的授權(quán)。
在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>為用戶和角色創(chuàng)建具有各自內(nèi)容的屬性文件:
# 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重新啟動(dòng)Jboss guvnor服務(wù)器,并使用創(chuàng)建的帳戶登錄Web界面。
使用輕量級(jí)容器Tomcat和Mysql服務(wù)器–配置drools-guvnor JAAS身份驗(yàn)證模塊
先決條件:使用在以Mysql 5.JDK 1.6版運(yùn)行的Apache tomcat 6中部署的Drools Guvnor 5.3
0 –使用上下文名稱drools-guvnor部署guvnor應(yīng)用程序。
所有用戶都是訪客,然后進(jìn)入管理面板并為用戶admin設(shè)置授權(quán),或創(chuàng)建具有授權(quán)的其他用戶。 停止服務(wù)器,我們將啟用Jaas數(shù)據(jù)庫身份驗(yàn)證
1 –使用mysql數(shù)據(jù)庫中的guvnorusers表創(chuàng)建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 –構(gòu)建自定義的loginModule
下載我的自定義loginModule源customloginmodule_sources編譯此源并將其導(dǎo)出為Java存檔(jar)。
3 –在%TOMCAT_HOME%/ lib中
復(fù)制loginModule導(dǎo)出的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,以配置我們的存儲(chǔ)庫以使用外部數(shù)據(jù)庫和安全設(shè)置
<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上創(chuàng)建具有以下內(nèi)容的文件jaasConfig:
drools-guvnor{ com.test.droolsproto.loginModule.module.DroolsLoginModule required debug=true; };8 –如果您在Linux上運(yùn)行,或者在具有此內(nèi)容的Windows上運(yùn)行setenv.bat,則在運(yùn)行Tomcat之前,請(qǐng)先在%TOMCAT_HOME%/ bin中創(chuàng)建一個(gè)setenv.sh文件(在Linux上工作)
… JAVA_OPTS=”-Xms128m -Xmx256m -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaasConfig” export JAVA_OPTS …現(xiàn)在是時(shí)候重新啟動(dòng)您的guvnor服務(wù)器并檢查身份驗(yàn)證了!
參考: Drools-guvnor管理訪問權(quán)限-第1部分 , Drools-guvnor管理訪問權(quán)限-第2部分,來自NGJWEBLOG博客的JCG合作伙伴 Gael-Jurin Nkouyee。
翻譯自: https://www.javacodegeeks.com/2012/04/drools-guvnor-manage-access.html
drools的guvnor
總結(jié)
以上是生活随笔為你收集整理的drools的guvnor_Drools Guvnor –管理访问的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对外贸易备案表(对外贸易经营备案登记表)
- 下一篇: 容器对象模式。 一种新的测试模式。