spring security helloworld级别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring security helloworld级别相关的知识,希望对你有一定的参考价值。

applicationContext-security.xml文件

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

<!-- 根目录下的login.jsp不需要springsecurity处理,任何用户都可以访问 -->
<http pattern="/login.jsp" security="none" />
<http pattern="/error.jsp" security="none" />

<!-- 需求:项目的所有资源都必须具备 ROLE_USER 角色才能访问 -->
<http auto-config="true">

<!-- 项目根目录下的admin.jsp必须具备ROLE_ADMIN角色才能访问 -->
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
<!-- 项目根目录下的所有资源都必须具备ROLE_USER角色的用户才能访问 -->
<intercept-url pattern="/**" access="ROLE_USER"/>


<!-- 自定义的登录页面 -->
<!--
login-page 指定自定义登录页面
default-target-url 指定登录成功跳转的页面
authentication-failure-url 指定登录失败跳转的页面
login-processing-url 指定登录处理路径,覆盖/j_spring_security_check,一般是一个虚拟路径
username-parameter 指定登录用户名接收字段,覆盖j_username
password-parameter 指定登录密码接收字段,覆盖j_password
-->
<form-login login-page="/login.jsp"
default-target-url="/index.jsp"
authentication-failure-url="/error.jsp"
login-processing-url="/doLogin.action"
username-parameter="username"
password-parameter="password"/>
</http>

<!-- 定义角色 -->
<authentication-manager>
<authentication-provider>
<user-service>
<user name="user" password="123456" authorities="ROLE_USER"/>
<user name="admin" password="654321" authorities="ROLE_ADMIN"/>
</user-service>
</authentication-provider>
</authentication-manager>

</beans:beans>

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

<!-- 添加spring支持 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>

<!-- 监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 添加spring security3支持 -->
<!-- springSecurityFilterChain 在BeanIds类中 -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>

备注:项目结构

技术分享

 

以上是关于spring security helloworld级别的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security:2.4 Getting Spring Security

没有 JSP 的 Spring Security /j_spring_security_check

Spring-Security

Spring Security 登录错误:HTTP 状态 404 - /j_spring_security_check

未调用 Spring Security j_spring_security_check

Spring Security入门(3-7)Spring Security处理页面的ajax请求