Проблема с лесами Spring Security - PullRequest
0 голосов
/ 12 июня 2018

Я использую myEclipse для создания веб-приложения CRUD Spring, я также хочу добавить Spring Security с помощью Scaffolding Spring Security из Spring Tools .Веб-приложение хорошо сгенерировано и работает нормально, но у меня есть проблема с безопасностью: страница приветствия, созданная после успешного входа, не содержит кнопку выхода из системы.

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security" 
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:lang="http://www.springframework.org/schema/lang"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security-3.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.1.xsd">

<http auto-config="true" >
    <intercept-url pattern='/pages/login.jsp' />
    <intercept-url pattern="/*" access="IS_AUTHENTICATED_REMEMBERED" />
    <form-login login-page="/pages/login.jsp" authentication-failure-url="/pages/login.jsp?login_error=true"  /> 
    <logout logout-success-url="/pages/logout-redirect.jsp" invalidate-session="true" />
    <remember-me key="JPORMKey" user-service-ref="userDetailsService" />
</http>

<authentication-manager alias="authenticationManager" >
<authentication-provider user-service-ref='userDetailsService' >
    <password-encoder hash="md5"/>
</authentication-provider>
</authentication-manager>

<beans:bean id="userDetailsService" class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
    <beans:property name="rolePrefix" value="ROLE_" />
    <beans:property name="dataSource" ref="springSecurityDataSource" />
    <beans:property name="usersByUsernameQuery" value="SELECT username,password,enabled FROM Users WHERE username = ?" />
    <beans:property name="authoritiesByUsernameQuery" value="SELECT u.username, a.authorityname FROM Users u JOIN Users_Authorities ua on u.id = ua.user_id JOIN Authorities a on ua.authorities_id = a.id WHERE u.username = ?" />
</beans:bean>   

<!-- ******************************************************************** -->
<!-- Apply security for all beans where security was set -->
<!-- ******************************************************************** -->
<global-method-security >
    <protect-pointcut expression="execution(* package.service.NewsService.*(..))" access="IS_AUTHENTICATED_REMEMBERED"/>
    <protect-pointcut expression="execution(* package.dao.NewsDAO.*(..))" access="IS_AUTHENTICATED_REMEMBERED"/>
</global-method-security>

Любая помощь, ребята?

...