【问题标题】:JBoss7 Web SSO (Non-Clustered)JBoss7 Web SSO(非集群)
【发布时间】:2013-03-18 07:22:08
【问题描述】:

我正在尝试在 JBoss7 中配置单点登录。

standalone.xml 中的安全域:

<security-domain name="my_auth">
   <authentication>
      <login-module code="Database" flag="required">
         <module-option name="dsJndiName" value="java:/comp/env/myDS"/>
         <module-option name="principalsQuery" 
            value="select password from usertable where login_id=?"/>
         <module-option name="rolesQuery" 
            value="select user_role from usertable where login_id=?"/>
         <module-option name="hashAlgorithm" value="MD5"/>
         <module-option name="hashEncoding" value="hex"/>
       </login-module>
   </authentication>
</security-domain>

standalone.xml 中的虚拟服务器

<virtual-server name="default-host" enable-welcome-root="true">
   <alias name="localhost"/>
   <sso/>
</virtual-server>

我的 webapp1 和 webapp2 的 jboss-web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<jboss-web>
  <security-domain>my_auth</security-domain>
</jboss-web>

配置后可以正常使用。 但它有一个小问题:

当启动服务器并第一次登录到 webapp1 或 webapp2 时,另一个 webapp 没有登录。 我从第一个 webapp 注销,然后再次登录,它工作正常。

我尝试将属性 reauthenticate="false" 添加到 ,仍然有同样的问题。

我不知道这个问题,谁能给点建议?

【问题讨论】:

    标签: jboss7.x single-sign-on


    【解决方案1】:

    我认为您还必须将 SSO Valve 添加到您的 jboss-web.xml 中。

    以下对我有用(JBoss 7.1.1)

    独立的.xml

    <security-domain name="my_auth">
       <authentication>
          <login-module code="Database" flag="required">
             <module-option name="dsJndiName" value="java:/comp/env/myDS"/>
             <module-option name="principalsQuery" 
                value="select password from usertable where login_id=?"/>
             <module-option name="rolesQuery" 
                value="select user_role from usertable where login_id=?"/>
             <module-option name="hashAlgorithm" value="MD5"/>
             <module-option name="hashEncoding" value="hex"/>
           </login-module>
       </authentication>
     </security-domain>
    
     ...
      <virtual-server name="default-host" enable-welcome-root="false">
          ...
          <sso reauthenticate="false"/>
      </virtual-server>
    

    jboss-web.xml:

    <jboss-web>
    
        <security-domain flushOnSessionInvalidation="true">java:/jaas/my_auth</security-domain>
        <valve>
            <class-name>org.apache.catalina.authenticator.SingleSignOn</class-name>
        </valve>
    
    </jboss-web>
    

    【讨论】:

      猜你喜欢
      • 2017-09-05
      • 2011-11-28
      • 1970-01-01
      • 2018-07-16
      • 2014-08-19
      • 2011-01-09
      • 1970-01-01
      • 2011-06-11
      • 2012-05-29
      相关资源
      最近更新 更多