Drools Guvnor –管理访问
在drools-guvnor參考手冊(cè)中列出了幾種權(quán)限類(lèi)型。 具有所有權(quán)限的管理員。 分析師或只讀分析師:特定類(lèi)別的分析師權(quán)限。 軟件包管理員,軟件包開(kāi)發(fā)人員或軟件包只讀:特定軟件包的軟件包權(quán)限。
通過(guò)更新位于服務(wù)器部署文件夾中的文件compenent.xml來(lái)允許用戶(hù)身份驗(yàn)證控制
... <component name="org.jboss.seam.security.roleBasedPermissionResolver><property name="enableRoleBasedAuthorization">false</property> </component> // change false to true ...Jboss服務(wù)器中的嵌入式Guvnor服務(wù)器控件訪(fǎng)問(wèn)配置:
如果以用戶(hù)訪(fǎng)客模式啟動(dòng),請(qǐng)停止guvnor服務(wù)器,并啟用基于角色的授權(quán)。
在server / default / conf中的文件login-config.xml中添加drools-guvnor訪(fǎng)問(wèn)策略
<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>為用戶(hù)和角色創(chuàng)建具有各自?xún)?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)建的帳戶(hù)登錄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 –使用上下文名稱(chēng)drools-guvnor部署guvnor應(yīng)用程序。
所有用戶(hù)都是訪(fǎng)客,然后進(jìn)入管理面板并為用戶(hù)admin設(shè)置授權(quán),或創(chuàng)建具有授權(quán)的其他用戶(hù)。 停止服務(wù)器,我們將啟用Jaas數(shù)據(jù)庫(kù)身份驗(yàn)證
1 –使用mysql數(shù)據(jù)庫(kù)中的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ǔ)庫(kù)以使用外部數(shù)據(jù)庫(kù)和安全設(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之前在%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管理訪(fǎng)問(wèn)權(quán)限-第1部分 , Drools-guvnor管理訪(fǎng)問(wèn)權(quán)限-第2部分,來(lái)自NGJWEBLOG博客的JCG合作伙伴 Gael-Jurin Nkouyee。
翻譯自: https://www.javacodegeeks.com/2012/04/drools-guvnor-manage-access.html
總結(jié)
以上是生活随笔為你收集整理的Drools Guvnor –管理访问的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 阿尔茨海默病等神经退行性疾病或可逆转,血
- 下一篇: SOA示例应用程序