1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:security="http://www.springframework.org/schema/security"
    4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    5. xsi:schemaLocation="http://www.springframework.org/schema/beans
    6. http://www.springframework.org/schema/beans/spring-beans.xsd
    7. http://www.springframework.org/schema/security
    8. http://www.springframework.org/schema/security/spring-security.xsd">
    9. <!-- 配置不拦截的资源 -->
    10. <security:http pattern="/login.jsp" security="none"/>
    11. <security:http pattern="/failer.jsp" security="none"/>
    12. <security:http pattern="/css/**" security="none"/>
    13. <security:http pattern="/img/**" security="none"/>
    14. <security:http pattern="/plugins/**" security="none"/>
    15. <!--
    16. 配置具体的规则
    17. auto-config="true" 不用自己编写登录的页面,框架提供默认登录页面
    18. use-expressions="false" 是否使用SPEL表达式(没学习过)
    19. -->
    20. <security:http auto-config="true" use-expressions="true">
    21. <!-- 配置具体的拦截的规则 pattern="请求路径的规则" access="访问系统的人,必须有ROLE_USER的角色" -->
    22. <security:intercept-url pattern="/**" access="hasAnyRole('ROLE_USER','ROLE_ADMIN')"/>
    23. <!-- 定义跳转的具体的页面 -->
    24. <security:form-login
    25. login-page="/login.jsp"
    26. login-processing-url="/login.do"
    27. default-target-url="/index.jsp"
    28. authentication-failure-url="/failer.jsp"
    29. authentication-success-forward-url="/pages/main.jsp"
    30. />
    31. <!-- 关闭跨域请求 -->
    32. <security:csrf disabled="true"/>
    33. <!-- 退出 -->
    34. <security:logout invalidate-session="true" logout-url="/logout.do" logout-success-url="/login.jsp" />
    35. </security:http>
    36. <!-- 切换成数据库中的用户名和密码 -->
    37. <security:authentication-manager>
    38. <security:authentication-provider user-service-ref="userService">
    39. <!-- 配置加密的方式-->
    40. <security:password-encoder ref="passwordEncoder"/>
    41. </security:authentication-provider>
    42. </security:authentication-manager>
    43. <!-- 配置加密类 -->
    44. <bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
    45. <!-- 提供了入门的方式,在内存中存入用户名和密码
    46. <security:authentication-manager>
    47. <security:authentication-provider>
    48. <security:user-service>
    49. <security:user name="admin" password="{noop}admin" authorities="ROLE_USER"/>
    50. </security:user-service>
    51. </security:authentication-provider>
    52. </security:authentication-manager>
    53. -->
    54. </beans>