gpt4 book ai didi

java - 跨项目共享 JBoss/WildFly 安全域

转载 作者:太空宇宙 更新时间:2023-11-04 06:16:55 25 4
gpt4 key购买 nike

这就是问题:

我有一个自定义安全域,可以对 Activity 目录中的用户进行身份验证,但从文件中获取角色(将来从数据库中获取)

每个项目的一切都像一个魅力,但是 session 不会在多个项目之间共享,即使这些项目共享相同的安全域,如果用户在一个项目中进行了身份验证,则必须在另一个项目中再次进行身份验证。

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>

最佳答案

对于跨应用程序的共享身份验证,您必须启用单点登录功能。单点登录配置允许对使用不同 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

关于java - 跨项目共享 JBoss/WildFly 安全域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27980747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com