使用篇
1、建立login.jsp页面.内容如下:
Html代码
<form action="<%=path %>/j_spring_security_check" method="post">
USERNAME:<input type="text" name="j_username" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}" /><br/>
PASSWORD:<input type="password" name="j_password" value="" /><br/>
<input type="checkbox" name="_spring_security_remember_me" />两周之内不必登陆<br/>
<input type="submit">
</form>
<form action="<%=path %>/j_spring_security_check" method="post">
USERNAME:<input type="text" name="j_username" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}" /><br/>
PASSWORD:<input type="password" name="j_password" value="" /><br/>
<input type="checkbox" name="_spring_security_remember_me" />两周之内不必登陆<br/>
<input type="submit">
</form>
j_spring_security_check : 为security验证中心(不知道怎么说合适.暂时这么理解吧..).
j_username: 验证用户名;
j_password: 验证密码;
${sessionScope['SPRING_SECURITY_LAST_USERNAME']}:使用最后一次登录用户名.
_spring_security_remember_me:记住我...
2、xml配置,配置内容如下:
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-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<!-- auto-config = true 则使用from-login. 如果不使用该属性 则默认为http-basic(没有session).
access-denied-page:出错后跳转到的错误页面;
-->
<http auto-config="true" access-denied-page="/common/403.jsp">
<!-- intercept-url:拦截器,可以设定哪些路径需要哪些权限来访问. filters=none 不使用过滤,也可以理解为忽略 -->
<intercept-url pattern="/index.jsp" access="ROLE_USER" />
<intercept-url pattern="/login.jsp" filters="none" />
<intercept-url pattern="/common/**" filters="none" />
<intercept-url pattern="/script/**" filters="none" />
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
<intercept-url pattern="/user.jsp" access="ROLE_USER" />
<!-- session-management是针对session的管理. 这里可以不配置. 如有需求可以配置. -->
<!-- id登陆唯一. 后登陆的账号会挤掉第一次登陆的账号 error-if-maximum-exceeded="true" 禁止2次登陆;
session-fixation-protection="none" 防止伪造sessionid攻击. 用户登录成功后会销毁用户当前的session.
创建新的session,并把用户信息复制到新session中.
-->
<session-management session-fixation-protection="none">
<concurrency-control/>
</session-management>
<!-- login-page:默认指定的登录页面. authentication-failure-url:出错后跳转页面. default-target-url:成功登陆后跳转页面 -->
<form-login login-page="/login.jsp"
authentication-failure-url="/common/403.jsp"
default-target-url="/admin.jsp" />
<!-- logout-success-url:成功注销后跳转到的页面; -->
<logout logout-success-url="/login.jsp"/>
<http-basic />
</http>
分享到:
相关推荐
本使用手册详细介绍了Spring Security的配置和使用方法,包括使用命名空间配置的方式,实现用户权限的管理,自定义登陆页面,以及一些高级功能,如单点登录、防御会话伪造等。 在配置方面,Spring Security支持传统...
在提供的压缩包`springsecurity配置demo`中,你将找到示例代码和详细说明,这将帮助你更好地理解和实践上述概念。通过学习和实践这些示例,你将能够为自己的Spring应用程序构建强大的安全防护。
Spring Security 使用及配置 Spring Security 是一个基于 Java 的安全框架,提供了丰富的安全功能,包括身份验证、授权、加密、会话管理等。下面将对 Spring Security 的使用及配置进行详细介绍。 身份验证 身份...
这个"springsecurity使用项目"是基于Spring Security 构建的一个实例,旨在帮助开发者理解如何在实际应用中实施权限校验。 首先,让我们从核心概念开始。Spring Security 主要由以下几个组件构成: 1. **过滤器链*...
标题 "spring security 使用数据库管理资源" 指的是在Spring Security框架中,通过数据库来存储和管理权限与资源的相关配置。这一做法使得安全控制更为灵活,可以动态地更新和扩展系统的访问控制。Spring Security是...
这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...
在本示例中,我们将探讨如何使用 SpringSecurity 构建一个基本的认证和授权流程。 首先,Spring Security 的核心组件包括认证(Authentication)和授权(Authorization)。认证涉及识别用户身份,而授权则是确定...
- XML配置:早期版本的SpringSecurity使用XML配置,但现在已被注解配置取代。 - 注解配置:使用`@EnableWebSecurity`开启Web安全,通过`@Configuration`和`WebSecurityConfigurerAdapter`自定义安全规则。 - ...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
Spring Security 的设计目标是为应用程序提供一个高度可配置且强大的安全性框架,同时保持易于集成和使用。 **1.2 历史** Spring Security 最初是由 Luke Taylor 和 Ray Ryan 开发的名为 Acegi Security 的项目,...
- **访问决策管理器**:Spring Security使用`AccessDecisionManager`来决定用户是否可以访问某个资源。默认使用投票机制,根据用户的权限角色来决定。 - **访问控制表达式**:你可以使用`@PreAuthorize`和`@...
在 `HelloSpringSecurity` 文件中,你可能看到以下关键代码: - **WebSecurityConfigurerAdapter** 类:这是 Spring Security 提供的配置适配器,可以覆盖其方法来定制安全规则。 - `configure(HttpSecurity http)...
3. **事件监听机制**:SpringSecurity使用Spring的事件驱动模型处理安全事件,如成功/失败的认证事件。 4. **配置解析**:查看`WebSecurityConfigurerAdapter`和`GlobalAuthenticationConfigurerAdapter`的源码,...
demos中可能包含如何在Spring MVC应用中配置和使用Spring Security的例子。 8. **自定义配置**:Spring Security 的强大之处在于其高度可定制性。通过自定义`UserDetailsService`,你可以实现自己的用户存储逻辑。...
- Spring Security使用一系列过滤器处理HTTP请求,如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`UsernamePasswordAuthenticationFilter`等,每个过滤器都有特定的职责。 - 在`configure(HttpSecurity ...
2. **过滤器链**:Spring Security 使用一系列过滤器来处理HTTP请求。这些过滤器包括`HttpSessionAuthenticationStrategy`、`AnonymousAuthenticationFilter`、`UsernamePasswordAuthenticationFilter`等,它们分别...
Spring Security 使用访问决策管理器(Access Decision Manager)和访问决策投票器(Access Decision Voter)来决定是否允许访问。 3. **静态资源保护** 在Web应用中,静态资源如CSS、JavaScript和图片通常应对...
为了获取这些信息,Spring Security使用`UserDetailsService`接口。实现该接口的服务负责查找和加载用户信息,包括用户名、密码、角色等。 5. **Authentication对象** 当用户尝试登录时,Spring Security创建一个`...
在"SpringSecurity2Demo"这个项目中,我们可以预期看到以下组成部分: 1. **配置文件**: `spring-security.xml`,这是Spring Security的核心配置文件,包含了过滤器链的配置、用户认证源、授权规则等。 2. **控制...
4. **表达式式访问控制(Expression-Based Access Control)**:Spring Security 3引入了基于SpEL(Spring Expression Language)的访问控制,允许使用表达式如`hasRole('ROLE_ADMIN')`来定义访问规则,增强了灵活性...