第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Spring Security + Tomcat SSO

Spring Security + Tomcat SSO

請(qǐng)教各位大神,我有多個(gè) Webapps 部署在一個(gè) Tomcat 上。每個(gè) Webapp 都使用 Spring Security 控制機(jī)制,進(jìn)行用戶認(rèn)證和權(quán)授。這個(gè)后臺(tái)認(rèn)證和權(quán)授的數(shù)據(jù)庫(kù)是統(tǒng)一的。我希望能在這些 webapp 之間實(shí)現(xiàn) SSO – Single Sign On -- 其中一個(gè) Webapp 上登錄后,就可以按權(quán)限訪問(wèn)其它的 webapp。我現(xiàn)在能實(shí)現(xiàn)單個(gè) Webapp 用 Spring Security 的認(rèn)證和授權(quán)控制,但不知道在這種情況下(每個(gè) Webapp 都部署在同一個(gè) Tomcat中)如何實(shí)現(xiàn) SSO?我在 StackOverflow 上也沒(méi)有找到答案,懇請(qǐng)達(dá)人指點(diǎn)。
查看完整描述

2 回答

?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

每個(gè) APP 使用 Tomcat JDBCRealm 進(jìn)行認(rèn)證 (Authentication),但使用 Spring Security 進(jìn)行授權(quán)。兩者基于相同的用戶信息數(shù)據(jù)庫(kù)。

  1. 在 Tomcat 中打開(kāi) SSO -- 這個(gè)很重要,否則訪問(wèn)同一個(gè)域中其它 webapp 時(shí),不會(huì)帶上 Cookie,也就無(wú)法認(rèn)證了

  2. 在每個(gè) webapp 中,配置 Web.xml 使用 Tomcat 進(jìn)行認(rèn)證 -- 如果用 Spring 進(jìn)行認(rèn)證,則 Tomcat 的 SSO 不起作用

  3. 在每個(gè) webapp 中,配置 spring,使用 J2eePreAuthenticatedProcessingFilter,進(jìn)行權(quán)限控制 (Authorization)

spring.xml 中的配置

    <bean id="encoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">

        <constructor-arg name="strength" value="11" />

    </bean>


       <bean id="forbiddenEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>


    <security:http auto-config="false" use-expressions="true" entry-point-ref="forbiddenEntryPoint">

        <security:custom-filter position="PRE_AUTH_FILTER" ref="preAuthFilter"/>

        <security:intercept-url pattern="/index/**" access="hasAnyRole('ROLE_SUPER')" />

        <security:session-management session-fixation-protection="none"/>

        <security:csrf disabled="true"/>

    </security:http>


 

    <bean id="preauthAuthProvider" class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">

        <property name="throwExceptionWhenTokenRejected" value="true"/>

        <property name="preAuthenticatedUserDetailsService">

           <bean id="userDetailsServiceWrapper" class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">

            <property name="userDetailsService" ref="nosUserDetailsService" />

        </bean>

        </property>

    </bean>

    



    <bean id="preAuthenticatedProcessingFilterEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>


    <bean id="webXmlMappableAttributesRetriever" class="org.springframework.security.web.authentication.preauth.j2ee.WebXmlMappableAttributesRetriever"/>

    

    <bean id="simpleAttributes2GrantedAuthoritiesMapper" class="org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper">

        <property name="attributePrefix" value=""/>

    </bean>


    <bean id="j2eeBasedPreAuthenticatedWebAuthenticationDetailsSource" class="org.springframework.security.web.authentication.preauth.j2ee.J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource">

        <property name="mappableRolesRetriever" ref="webXmlMappableAttributesRetriever"/>

        <property name="userRoles2GrantedAuthoritiesMapper" ref="simpleAttributes2GrantedAuthoritiesMapper"/>

    </bean>

    

    <bean id="preAuthFilter" class="org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthenticatedProcessingFilter">

        <property name="authenticationManager" ref="authenticationManager"/>

        <property name="authenticationDetailsSource" ref="j2eeBasedPreAuthenticatedWebAuthenticationDetailsSource"/>

    </bean>


    <security:authentication-manager alias="authenticationManager">

        <security:authentication-provider ref="preauthAuthProvider"/>

    </security:authentication-manager>


查看完整回答
反對(duì) 回復(fù) 2019-04-25
  • 2 回答
  • 0 關(guān)注
  • 463 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)