这是问题所在:
我有一个自定义安全域,用于识别活动目录中的用户,但从文件中获取角色(将来从数据库中获取)
一切都像每个项目的魅力一样,但是会话不会在多个项目中共享,即使项目共享相同的安全域,如果用户在一个项目中进行了识别,则必须在另一个项目中再次识别。 / p>
standalone.xml中的安全域定义
<security-domain name="custom-form-auth" cache-type="default">
<authentication>
<login-module code="ro.test.login.CustomLoginModule" flag="required" module="ro.test.Process-login">
<module-option name="activeDirectory" value="${jboss.server.config.dir}/activeDirectory.properties"/>
</login-module>
</authentication>
</security-domain>
的JBoss-web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>custom-form-auth</security-domain>
<disable-audit>true</disable-audit>
</jboss-web>
答案 0 :(得分:1)
对于跨应用程序的共享身份验证,您必须启用单点登录功能。 Single Signon配置允许对使用不同Web上下文的公司站点进行集中登录配置。
要在JBoss7中启用SSO,您需要在Web子系统中添加sso
选项(每个主机配置SSO):
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
<sso reauthenticate="false"/>
</virtual-server>
</subsystem>
请参阅:https://developer.jboss.org/wiki/JBossAS711WebSSONon-Clustered