Базовая аутентификация JBoss EAP 7 не работает
Я изменяю свой сервер приложений на JBoss EAP 7.1 и настраиваю JDBC Realm с этой конфигурацией:
# In security domains section :
<security-domain name="jdbcdomain" default-realm="jdbc-realm" permission-mapper="default-permission-mapper">
<realm name="jdbc-realm" role-decoder="from-roles-attribute"/>
</security-domain>
# In security realm section :
<jdbc-realm name="jdbc-realm">
<principal-query sql="SELECT PASSWORD FROM USERS WHERE USERNAME = ?" data-source="OracleDS">
<clear-password-mapper password-index="1"/>
</principal-query>
<principal-query sql="select r.rolename from roles r , users u , userrole ur where u.username=? and ur.user_id=u.id and r.id=ur.role_id" data-source="OracleDS">
<attribute-mapping>
<attribute to="roles" index="1"/>
</attribute-mapping>
</principal-query>
</jdbc-realm>
# In http section :
<http-authentication-factory name="http-db-auth" security-domain="jdbcdomain" http-server-mechanism-factory="global"/>
# In Subsystem "urn:jboss:domain:undertow:5.0" section :
<application-security-domains>
<application-security-domain name="web-security-domain" http-authentication-factory="http-db-auth"/>
</application-security-domains>
мой файл web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>administrator</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
</web-app>
мой файл jboss-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>web-security-domain</security-domain>
</jboss-web>
Моя проблема в базовой аутентификации, а не в работе с моей конфигурацией.
на самом деле браузер Firefox не открывает всплывающее окно аутентификации и получает только:
Внутренняя ошибка сервера
без ошибок в журнале jboss!,
Как можно решить эту проблему?
Спасибо.
1 ответ
Я исправил эту проблему.
В разделе Http конфигурация должна быть такой же:
<http-authentication-factory name="http-db-auth" http-server-mechanism-factory="global" security-domain="jdbcdomain">
<mechanism-configuration>
<mechanism mechanism-name="BASIC"/>
</mechanism-configuration>
</http-authentication-factory>
Теперь работаю без проблем.
Спасибо.