Существует несколько типов разрешений, перечисленных в справочном руководстве 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=admin packuser=package.admin rulesviewer=package. readonly |
1
2
3
4
|
# A users.properties file for UsersRolesLoginModule (drools-guvnor-users.properties) rulesviewer=drools packuser=proto superuser=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.DroolsLoginModule required 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 .