web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/context/applicationContext.xml,/WEB-INF/context/applicationContext-security.xml
</param-value>
</context-param>
<!-- Spring Security2 配置DelegatingFilterProxy -->
<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>
<listener>
<listener-class>org.springframework.security.ui.session.HttpSessionEventPublisher</listener-class>
</listener>
applicationContext-security.xml
<?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
<!--
url过滤是按照顺序执行的,所以最前面的是最想先过滤的
1.form-login 指定了登陆界面,如果没具体指定,spring security将用自身的登陆界面,default-target-url: 登录成功后转到那个页面
2.http-basic 加载系列默认的过滤器
3.logout 加载离开过滤器, logout-success-url: 登出成功跳转到的页面(跳转)
4.max-sessions="1": 一个用户第二次登陆时,第一次失效
5.exception-if-maximum-exceeded="true": 防止第二次登陆
6. access-denied-page: 该用户无权限时转到指定页面(转向)
-->
<http access-denied-page="/AccessDenied.html">
<intercept-url pattern="/Login.jsp*" filters="none" />
<intercept-url pattern="/User/**" access="ROLE_ADMIN" />
<intercept-url pattern="/user*" access="ROLE_ADMIN" />
<intercept-url pattern="/Article/**" access="ROLE_ADMIN,ROLE_USER" />
<intercept-url pattern="/art*" access="ROLE_ADMIN,ROLE_USER" />
<intercept-url pattern="/**" access="ROLE_ADMIN,ROLE_USER" />
<form-login login-page="/Login.jsp" default-target-url="/Success.html"/>
<logout logout-success-url="/Login.jsp"/>
<http-basic/>
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>
</http>
<!-- 认证供应商 -->
<authentication-provider>
<password-encoder hash="plaintext"/>
<user-service>
<user name="admin" password="admin" authorities="ROLE_ADMIN" />
<user name="zhangsan" password="zhangsan" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</beans:beans>
Login.jsp
<form name="f" action="j_spring_security_check" method="POST">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="j_username" /></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="j_password" /></td>
</tr>
<tr>
<td><input type="checkbox" name="_spring_security_remember_me"></td>
<td>两周之内不用输入密码</td>
</tr>
<tr><td colspan="2"><input name="submit" type="submit" value="登 录"></td></tr>
<tr><td colspan="2"><input name="reset" type="reset" value="重 置"></td></tr>
</table>
</form>
现在想更深入的学习,网上的资料没合适的。
想实现的功能
1. 当用户登录时,用户名和密码要与数据库中的对应,然后存到session里,以备用。
2.管理员可以给 用户分配和取消权限,不像上面是固定的。
3.听说还要写的什么类?UserDetailsServiceImp?
最近,天天到网上搜索,有的打着spring security2 或acegi2.x的旗号,其配置那是相当的繁琐(估计是1.x的,骗人),而且相关的代码和类都没展现全,对我这菜鸟级的感到很迷茫。希望高手们能献出自己的完整小例子,倡导资源共享。能帮上忙的尽管来吧。谢谢!
分享到:
相关推荐
详细的spring security2.x配置
Spring Security 3.x版本是该框架的一个重要迭代,提供了丰富的功能和增强的安全性。这份详细的官方中文文档对于理解和实施Spring Security的安全策略非常有帮助。 1. **认证与授权**: - **认证**:Spring ...
2. **配置Spring Security**: - 配置Spring Security的WebSecurityConfigurerAdapter,关闭默认的CSRF保护,并指定不进行HTTP Basic认证。 - 在`configure(HttpSecurity http)`方法中,定义允许匿名访问的资源和...
10. **OAuth2集成**:Spring Security 3.x版本开始支持OAuth2,允许应用与其他服务进行安全的API交互。 在“lanyuan-master”这个压缩包中,可能包含了实现Spring Security 3.x的示例代码,包括配置文件、控制器、...
Spring Security 3.x 参考手册 中文版 CHM版 绝对真实! 请打不开的网友自己检查下自己的电脑设置,CHM格式有时候有打不开的可能,下不了的,请检查下自己的网络。
spring security2.0.x chm 包含 1. spring security2.0.x api 2. spring security2.0.x 参考手册 3. spring security2.0.x 安全权限管理手册
《SpringMVC、SpringSecurity3.x与MyBatis3.x在旧版蓝缘后台管理系统中的应用解析》 本文将深入探讨“springMVC+springSecurity3.x+Mybaits3.x旧版蓝缘后台管理系统”这一主题,通过对相关技术的详细讲解,帮助读者...
虽然OAuth2不是Spring Security 3.0.x 的核心部分,但Spring Security 提供了对OAuth2的支持,方便与外部服务进行身份验证和授权。 ### 9. 安全Web服务 Spring Security 提供了对Web服务(如SOAP和RESTful)的安全...
springsecurity是一个功能强大且高度可定制的身份验证和访问控制框架。springsecurity是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring安全性的真正威力在于它可以很容易地扩展以...
8. **OAuth2集成**:Spring Security 3.x版本开始支持OAuth2协议,这使得它能够与其他OAuth2服务器进行集成,提供社交登录功能或者保护RESTful API。 9. **AOP安全**:Spring Security与Spring的面向切面编程(AOP...
本源码工程是针对SpringSecurity3.x的深入学习资源,包含了实现文档对应的源代码,能够帮助开发者更好地理解和运用该框架。 首先,SpringSecurity的核心概念包括认证(Authentication)和授权(Authorization)。...
这个例子是我http://www.springsource.org/download下载的,然后...可以直接运行的程序。 开发环境:MyEclipse 6.0.1 + mypring3.05 + spring-security-core-3.1.0.RC1.jar 网上可运行的例子太少了。和大家分享一下。
这个"Spring Security 2.0.x Sample Code"是针对该版本的一系列示例代码,旨在帮助开发者理解并应用Spring Security的核心功能。 在Spring Security 2.0.x版本中,主要关注以下核心概念和组件: 1. **过滤器链**:...
9. **OAuth2支持**: Spring Security 3.x对OAuth2有初步支持,可以学习如何构建OAuth2服务器端和客户端。 10. **自定义扩展**: 了解如何根据项目需求定制Spring Security,如自定义认证提供者、权限表达式等。 ...
本篇文章将详细解析Spring Security 3.x中的会话管理和相关知识点。 1. **会话管理基础** - 会话在Web应用中扮演着关键角色,它允许服务器存储和跟踪用户的状态。在Spring Security中,会话管理主要涉及到会话固定...
**Spring Security 3.2.x配置详解** Spring Security是一款强大的安全框架,用于处理Java应用程序的安全需求,包括身份验证、授权和访问控制等。在3.2.x版本中,它提供了许多改进和新特性,使得安全配置更加灵活和...
本设计源码是一个基于SpringBoot 2.x和SpringSecurity 5.x构建的鱼快权限管理脚手架,共包含439个文件,其中Java源文件135个、HTML文件96个、GIF文件81个、JavaScript文件33个、CSS文件23个、PNG文件19个、XML文件16...
2. **访问控制**:Spring Security 的核心概念之一是访问决策管理器(Access Decision Manager),它决定了用户是否被允许访问某个资源。使用`@Secured`或`@PreAuthorize`等注解可以实现方法级别的权限控制,而`...