Существует несколько типов разрешений, перечисленных в справочном руководстве drools-guvnor. Админ со всеми разрешениями. Аналитик или Аналитик только для чтения: разрешения аналитика для определенной категории. Администратор пакета, Разработчик пакета или Пакет только для чтения: разрешения пакета для определенного пакета.
Разрешить контроль аутентификации пользователя, обновив файл compenent.xml, расположенный в развернутой папке сервера
|
1
2
3
4
5
6
|
...<component name="org.jboss.seam.security.roleBasedPermissionResolver> <property name="enableRoleBasedAuthorization">false</property></component>// change false to true... |
Встраиваемый Guvnor в конфигурацию управления доступом к серверу Jboss:
Остановите сервер guvnor, если он запущен в режиме гостевого пользователя, и включите авторизацию на основе ролей.
Добавьте политику доступа drools-guvnor в файл login-config.xml, расположенный в файле server / default / conf
|
01
02
03
04
05
06
07
08
09
10
11
|
<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> |
Создайте файлы свойств для пользователей и ролей с соответствующим содержимым:
|
1
2
3
4
|
# A roles.properties file for UsersRolesLoginModule (drools-guvnor-roles.properties)superuser=adminpackuser=package.adminrulesviewer=package.readonly |
|
1
2
3
4
|
# A users.properties file for UsersRolesLoginModule (drools-guvnor-users.properties)rulesviewer=droolspackuser=protosuperuser=admin |
Перезапустите сервер Jboss Guvnor и войдите в веб-интерфейс, используя созданные учетные записи.
Использование облегченного контейнера Tomcat и сервера Mysql — Настройка модуля проверки подлинности JAAS drools-guvnor
Предварительные требования: Работа с Drools Guvnor 5.3, развернутой в Apache tomcat 6, работающей с Mysql 5.JDK версии 1.6
0 — развернуть приложение guvnor с именем контекста drools-guvnor.
Все пользователи являются гостями, затем зайдите в панель администрирования и установите авторизацию для пользователя admin или создайте другого пользователя с авторизацией. Остановите сервер, и мы собираемся включить аутентификацию базы данных Jaas
1 — Создайте схему authdb с таблицей guvnorusers в базе данных mysql.
|
1
2
3
4
5
6
7
8
|
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 — Создайте собственный логинModule
Загрузите мои собственные источники loginModule customloginmodule_sources Скомпилируйте и экспортируйте эти источники в виде java-архива (jar).
3 — в% TOMCAT_HOME% / lib
Скопируйте экспортированный файл jar loginModule и jar коннектора mysql.
4 — В% TOMCAT_HOME% / conf / context.xml мы добавляем объявление ресурса
|
1
2
3
4
|
<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, чтобы настроить наш репозиторий для использования внешней базы данных и параметров безопасности
|
1
2
3
4
5
|
<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, чтобы добавить объявление области
|
1
2
3
4
5
6
7
|
<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 — Создайте файл jaasConfig на% TOMCAT_HOME% / conf с этим содержимым:
|
1
2
3
4
|
drools-guvnor{com.test.droolsproto.loginModule.module.DroolsLoginModulerequired debug=true;}; |
8. Перед запуском Tomcat создайте в% TOMCAT_HOME% / bin файл setenv.sh, если вы работаете в Linux или setenv.bat в Windows с этим содержимым (Работа в Linux).
|
1
2
3
4
|
…JAVA_OPTS=”-Xms128m -Xmx256m -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaasConfig”export JAVA_OPTS… |
Теперь пришло время перезагрузить ваш сервер guvnor и проверить аутентификацию!
Ссылка: Drools-guvnor управляет доступом — часть 1 , Drools-guvnor управляет доступом — часть 2 от нашего партнера JCG Гаэля-Юрина Нкуи в блоге NGJWEBLOG .