我使用JBoss EAP 7.1.0和JAAS授权。我的安全领域:
</security-domain>
<security-domain name="powSecurityDomain" cache-type="default">
<authentication>
<login-module code="Database" flag="required">
<module-option name="dsJndiName" value="java:/jdbc/powds"/>
<module-option name="principalsQuery" value="SELECT PASSWORD FROM POW_USER_CURRENT_PASSWORD PASS JOIN POW_USER US ON PASS.USER_ID=US.ID WHERE US.USER_NAME_SEARCH = ? and US.ACTIVE='Y' and US.LOCKED !='Y'"/>
<module-option name="rolesQuery" value="SELECT UGA.GROUP_NAME, 'Roles' FROM POW_USER_GRP_ASSOC UGA JOIN POW_USER US ON US.ID = UGA.USER_ID WHERE USER_NAME_SEARCH= ?"/>
</login-module>
<login-module code="RoleMapping" flag="optional">
<module-option name="rolesProperties" value="file:///${jboss.server.config.dir}/rolesMapping-roles.properties"/>
</login-module>
</authentication>
</security-domain>
用户成功登录后,我在浏览器网络中看不到JSESSIONID cookie: 但是我可以在浏览器设置中看到它们: 为什么我有这个问题?也许我需要一些其他配置?
答案 0 :(得分:0)
问题是JSSESIONID cookie路径不是“ /”。所以我在耳朵文件中添加下一个配置:
<jboss umlns="urn:jboss:1.0">
<shared-session-config xmlns="urn:jboss:shared-session-config:1.0">
<session-config>
<cookie-config>
<path>/</path>
</cookie-config>
</session-config>
</shared-session-config>
</jboss>