У меня есть форма входа в веб-приложение весной. 3.1. Форма входа в систему вызывает j_spring_security_check onsubmit, и у меня есть собственный менеджер auth, который использует github rest api для аутентификации входа. Проблема с этим заключается в том, что при регистрации логина на сервере они регистрируются в виде обычного текста.Пароль отправлен в текстовом виде на сервер java spring
Проводка моей безопасности context.xml файл
<!-- Custom bean: Auth Manager -->
<beans:bean id="customAuthmanager" class="com.RRCenter.securityMisc.AuthManager">
</beans:bean>
<!-- Failed login bean -->
<beans:bean id="failedLogin" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler" p:defaultFailureUrl="/reuiweb/login?fail=true"></beans:bean>
<!-- Successful login bean -->
<beans:bean id="successLogin" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler" p:defaultTargetUrl="/reuiweb/certifybundles?login=true"></beans:bean>
<!-- <beans:bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<beans:property name="passwordEncoder" ref="passwordEncoder"/>
</beans:bean> -->
<!-- <beans:bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
<beans:constructor-arg name="strength" value="11" />
</beans:bean> -->
<!-- Actual auth manager -->
<beans:bean id="customAuthFilter"
class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"
p:authenticationManager-ref="customAuthmanager"
p:authenticationFailureHandler-ref="failedLogin"
p:authenticationSuccessHandler-ref="successLogin"
p:authenticationDetailsSource-ref="myAuthDetailsSource"
></beans:bean>
<!-- p:authenticationProvider-ref="daoAuthenticationProvider" -->
<!-- Auth Details Bean -->
<beans:bean id="myAuthDetailsSource" class="com.RRCenter.securityMisc.MyAuthDetailsSource"/>
<!-- Successful login bean -->
<beans:bean id="authenticationEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint"
p:loginFormUrl="/reuiweb/login" />
<security:authentication-manager />
<!-- Test users -->
<security:http auto-config="false" request-matcher="ant" disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint">
<!-- Enables the 9xxx ports -->
<security:port-mappings>
<security:port-mapping http="80" https="443"/>
<security:port-mapping http="8080" https="8443"/>
<security:port-mapping http="9080" https="9443"/>
</security:port-mappings>
<security:http-basic authentication-details-source-ref="myAuthDetailsSource" />
<!-- Session management -->
<security:session-management invalid-session-url="/reuiweb/login">
<security:concurrency-control max-sessions="99" expired-url="/reuiweb/login" />
</security:session-management>
<!-- Security schema -->
ty:intercept-url pattern="/j_spring_security_check" requires-channel="https"/>
<security:intercept-url pattern="/reuiweb/certifyProvider" access="ROLE_USER,ROLE_ADMIN"/>
<security:intercept-url pattern="/**" access="ROLE_ANONYMOUS, ROLE_USER, ROLE_ADMIN"/>
<security:logout invalidate-session="true" logout-success-url="/reuiweb/allJobs" logout-url="/reuiweb/logout"/>
<security:custom-filter ref="customAuthFilter" position="FORM_LOGIN_FILTER"/>
</security:http>
Я прочитал пару ответов на переполнение стека, где он упоминал, что я должен был использовать данные пользователя службы вместе с паролем кодировщика боба
<bean id="authProvider"
class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="customUserService" />
<property name="passwordEncoder" ref="encoder" />
</bean>
Однако поставщик daoAuthentication предназначен для случаев, когда пароль входа в систему хранится в базе данных. Не могли бы вы дать мне знать, как реализовать службу userdetails, когда аутентификация предоставляется службами REST API?
@ holmis83 Сервер записывает каждую обрабатываемую страницу. При проверке журналов на странице j_spring_security_check следующая информация регистрируется -------> /reuiweb/j_spring_security_check? J_OTP = ****** (представленное значение формы) & submit = Submit & j_password = {password in plain text} & j_username = {подтвержденное значение формы для имени пользователя} –
, который помещает эти строки в журнал? ваше приложение? или сам сервер, например, журналы apache? –
Тогда, похоже, проблема с страницей входа. Как это выглядит? – holmis83