Разрешить указанному внешнему URL-адресу c доступ к странице с использованием конфигурации Spring Security xml без страницы входа - PullRequest
0 голосов
/ 29 января 2020

Мое требование: я должен интегрировать одну страницу существующего приложения в другое стороннее приложение. Третья сторона поделится одним URL с именем пользователя и паролем. Я должен проверить, используя имя пользователя и пароль в Spring Security внутренне, без отображения какой-либо страницы входа или без предоставления учетных данных вручную, и вернуть страницу jsp в качестве ответа. URL третьей стороны должен выглядеть следующим образом: http://localhost: 8080 / customer / gui? Name = Test & password = test123

Каков наилучший способ решения этой проблемы?
это возможно в том же военном файле с изменениями в весенней безопасности xml файл?

Existing working spring security xml configuration with login page:

<http use-expressions="true" create-session="never" >
        <intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')"/>
        <intercept-url pattern="/**" access="isAuthenticated()" /> 
        <intercept-url pattern="/**" access="permitAll" />
       <form-login  login-page="/indexAction" login-processing-url="/j_spring_security_check"
                default-target-url="/loginAction" authentication-failure-handler-ref="authenticationFailureHandler" 
                username-parameter="j_username" password-parameter="j_password" /> 
        <logout logout-success-url="/loggedout.jsp" delete-cookies="JSESSIONID"/>
        <remember-me />
        <session-management invalid-session-url="/invalidSession">
            <concurrency-control max-sessions="1"  /> 
        </session-management> 
        <csrf></csrf>
            <headers>
                <hsts />
                <xss-protection />
                <frame-options policy="SAMEORIGIN" />              
             </headers>          
            <access-denied-handler error-page="/jsp/common/AuthorizationFaliure.jsp"/>
 </http>

 <authentication-manager erase-credentials="false">
            <authentication-provider ref="customAuthenticationProvider"></authentication-provider>
</authentication-manager>

<beans:bean id="customAuthenticationProvider"  class="com.common.CustomAuthenticationProvider">  
                  <beans:property name="userDetailsService"><beans:ref bean="userDetailsService"/></beans:property> 
                  <beans:property name="userService"><beans:ref bean="userService"/></beans:property>
                  <beans:property name="auditTrailService"><beans:ref bean="auditTrailService"/></beans:property>                          
</beans:bean> 

Заранее спасибо.

...