- 浏览: 264207 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (87)
- Java (6)
- Frameworks (1)
- JavaWeb (3)
- Spring (6)
- Hibernate (26)
- Maven (2)
- Plugin (1)
- Velocity (1)
- Freemarker (1)
- Spring security (18)
- Google (5)
- Guice (5)
- rmi (1)
- Annotation (1)
- Binding (1)
- commons-fileupload (3)
- fileupload (3)
- ehcache (1)
- ApplicationContext (1)
- Resource (1)
- Validator (1)
- PropertyEditor (1)
- one-to-many (5)
- cascade (2)
- MessageSource (1)
- Serialize (1)
- Serializable (1)
- delete (1)
- delete-orphan (1)
- fetch (1)
- one-to-one (1)
- join (4)
- DomainObject (1)
- CRUD (1)
- composite-element (1)
- Hibernate ORM (14)
- dynamic-insert (1)
- dynamic-update (1)
- Search (1)
- DDD (0)
- Job (0)
- element (1)
- Unique (1)
- Group (1)
- tomcat (1)
- https (1)
- mysql (1)
最新评论
-
xurunchengof:
[url][url][url][img][img][img][ ...
Spring Security 3多用户登录实现之三 验证过滤器 -
Wind_ZhongGang:
yo8237233 写道你这样的话如果上传文件超过了50000 ...
Spring集成Commons fileupload,文件上传 -
yo8237233:
你这样的话如果上传文件超过了50000000就会报异常
Spring集成Commons fileupload,文件上传 -
zhuzhiguosnail:
Wind_ZhongGang 写道lianglaiyang 写 ...
Spring Security 3多用户登录实现一 -
曾老师:
?????
Spring Security 3用户登录实现之十 用户切换
Spring Security实现Basic Authentication
配置Security文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:security="http://www.springframework.org/schema/security" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd"> <security:http auto-config="true"> <security:http-basic entry-point-ref="basicAuthenticationEntryPoint"/> <security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/welcome.jsp"/> <security:intercept-url pattern="/welcome.jsp" filters="none"/> <security:intercept-url pattern="/*" access="ROLE_ADMIN"/> </security:http> <bean id="basicAuthenticationEntryPoint" class="org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint"> <property name="realmName" value="Voter"/> </bean> <security:authentication-manager> <security:authentication-provider> <security:user-service> <security:user name="ZhongGang" authorities="ROLE_ADMIN" password="123"/> </security:user-service> </security:authentication-provider> </security:authentication-manager> </beans>
这里为了简便,专注于Basic Authentication,这里使用的用户是通过配置文件配置的方式, 用户最终是放置在内存中的。
这里有一点需要特别注意,通过Basic Authentication登录的方式,如果用户想要退出, 要么关闭浏览器,要么就需要在退出时向客户端发送一个HttpServletResponse.SC_UNAUTHORIZED 401错误才可以实现用户的退出功能。这点可以在BasicAuthenticationEntryPoint的源码注释中看到,原文如下:
/** * Used by the <code>ExceptionTraslationFilter</code> to commence authentication via the {@link BasicAuthenticationFilter}. * <p> * Once a user agent is authenticated using BASIC authentication, logout requires that * the browser be closed or an unauthorized (401) header be sent. The simplest way of achieving the latter is to call * the {@link #commence(HttpServletRequest, HttpServletResponse, AuthenticationException)} method below. This will indicate to * the browser its credentials are no longer authorized, causing it to prompt the user to login again. * * @author Ben Alex */
与Basic Authentication主要相关的两个类是BasicAuthenticationFilter 和 BasicAuthenticationEntryPoint, BasicAuthenticationEntryPoint负责当用户访问一个需要授权的链接时,如果当前没有登录, 向用户展示BasicAuthenticationForm认证表单, BasicAuthenticationFilter负责处理用户的认证请求。
当用户登录成功后, 访问任意链接地址时, 都可以发现在请求头中包括Authorization这个属性, 里面的加密字符串就是用户名:密码的加密后的字符串,加密方式是Base64。
发表评论
-
Spring Security 之 Session Management
2013-01-06 11:43 5618Spring Security为我们提供了Sess ... -
Spring Security 之 Digest Authentication
2013-01-04 16:22 0<?xml version=" ... -
Spring Security 3用户登录实现之十二 授权判断
2012-11-29 15:38 2255Spring Security在验证用户登录后的另 ... -
Spring Security 3多用户登录实现之十一 退出
2012-11-19 21:41 2662Spring Security的退出功能由Logou ... -
Spring Security 3用户登录实现之十 用户切换
2012-11-17 18:15 6347部分情况下用户希望能够在不知道其它用户账号及密码的 ... -
Spring Security 3多用户登录实现之九 基于持久化存储的自动登录
2012-11-17 00:40 6315Spring Security实现自动登录的基本流 ... -
Spring Security 3多用户登录实现之八 基于Cookie的自动登录
2012-11-15 22:44 11039Spring Security为我们提供了两种方式的自 ... -
Spring Security 3多用户登录实现之七 用户验证失败处理改进
2012-11-11 11:24 8985验证登录失败后的处理的常见处理是返回到登录页面,并 ... -
Spring Security 3多用户登录实现之六 用户验证后处理
2012-11-11 00:42 4238验证用户后主要有这样两种走向,一种是验证失败,一种 ... -
Spring Security 3多用户登录实现之五 验证用户凭证
2012-11-11 00:42 4974有了用户凭证后, 如何验证用户的凭证是否正确呢, 这就需 ... -
Spring Security 3多用户登录实现之四 用户凭证
2012-11-10 20:00 5113前讲讲到AuthenticationFilt ... -
Spring Security 3多用户登录实现之三 验证过滤器
2012-11-10 19:58 15178当填写完成登录表单提交后,首先会被对应的提交表单提起 ... -
Spring Security 3多用户登录实现之二 多登录界面展示
2012-11-10 19:58 9812接前讲,首先针对一个多种用户类型的登录需求,需要先 ... -
Spring Security 3多用户登录实现一
2012-11-10 19:57 5093使用Spring Security 3 来实现多种 ... -
Spring security customize password encoder
2011-07-29 22:21 2436Spring security为我们 ... -
Spring security防用户重复登录
2011-07-28 23:28 3974使用Spring security如何防止用户的重复登录呢 ... -
Spring security用户权限数据库配置
2011-07-28 22:11 6570关于安全性服务,有两个重要的概念需要理解,一是认证,即判断 ... -
Spring security HTTP Basic认证
2011-07-27 21:54 5304Spring security框架集成了多种流行的安全认证 ...
相关推荐
springsecurity是一个功能强大且高度可定制的身份验证和访问控制框架。springsecurity是一个...最核心的就是 Basic Authentication Filter 用来认证用户的身份,一个在spring security中一种过滤器处理一种认证方式。
Spring Security 是一款基于 Spring 框架的安全插件,提供了完整的安全性解决方案,包括身份认证(Authentication)、授权(Authorization)以及会话管理(Session Management)等功能。Spring Security 的设计目标是为...
它可能会详细介绍SpringSecurity的核心组件,如过滤器链(Filter Chain)、安全上下文(Security Context)以及不同类型的认证方式,如表单登录(Form Login)、HTTP基本认证(HTTP Basic Authentication)等。...
首先,Spring Security的核心概念包括认证(Authentication)和授权(Authorization)。认证是指确认用户身份的过程,通常涉及用户名和密码的验证。授权则决定了认证后的用户能访问哪些资源或执行哪些操作。Spring ...
Spring Security 是Spring生态系统中的一个组件,用于提供认证(Authentication)和授权(Authorization)功能。它为Web应用程序提供了全面的安全解决方案,包括登录、权限控制、会话管理、CSRF防护等。 2. **核心...
Spring Security 是一个强大的安全框架,用于保护基于Spring的应用程序。在本笔记中,我们将深入探讨Spring Security的命名空间,这是配置该框架的关键部分。通过理解这些命名空间,开发者可以更有效地控制应用程序...
在Spring Security中管理会话也是重要的安全措施之一,包括添加监听器、过滤器以及定义控制策略。 #### 基本认证(basic auth) 基本认证是HTTP协议中的一种认证方式,Spring Security提供了相应的配置方法和编程...
2. **身份验证(Authentication)**:Spring Security提供了多种认证机制,如基于表单的登录、基于HTTP Basic的认证等。通过源码分析,可以了解这些机制的实现细节,如AuthenticationProvider、...
- **Basic Authentication**:使用HTTP的基本认证头进行身份验证。 - **Form Login**:通过HTML表单提交用户名和密码进行登录。 - **Remember Me Services**:允许用户选择在一段时间内保持登录状态。 3. **权限...
SpringSecurity的核心是其过滤器链,其中包含了多个预定义的安全过滤器,如HTTP Basic Authentication Filter、Form Login Filter和Remember Me Filter等。这些过滤器处理HTTP请求,进行身份验证和授权,确保只有...
6. **无状态认证(Token-based Authentication)**:尽管例子没有明确提到,但SpringSecurity也支持JWT(JSON Web Tokens)或OAuth2等无状态认证方式,这在现代API开发中非常常见。 7. **CSRF防护**:Spring...
### Spring Security详细介绍及使用 #### 一、Spring Security概述 Spring Security是一款强大的安全框架,它专为基于Spring的企业级应用提供了声明式安全访问控制。该框架利用Spring框架的核心功能,如IoC...
- Spring Security 3支持多种认证方式,如Basic认证、Form认证等。在`http`元素内,通过`form-login`或`http-basic`子元素来配置这些认证方式。 - `password-encoder`: 用于加密和比较用户输入的密码。Spring ...
1. **核心概念**:包括Security Context、Authentication、Authorization、Access Decision Manager等,它们构成了Spring Security的基础架构。 2. **配置机制**:如XML配置和Java配置两种方式,理解配置项的作用和...
SpringSecurity提供了几种不同的认证方式,如基于表单的登录、基于HTTP Basic的认证等。在配置中,我们需要定义一个AuthenticationProvider,它会处理用户提交的凭证并进行验证。例如,我们可以使用...
在 `SpringSecurityTest01` 这个压缩包文件中,你可能找到了一个示例项目,它可能包含了配置类、控制器、视图和测试用例。通过分析这些代码,你可以更深入地理解如何在实际项目中应用 Spring Security。 总之,...
Spring Security的核心组件包括Authentication(认证)、Authorization(授权)和Filter Chain(过滤器链)。在Web应用中,它会通过一系列预定义的过滤器处理HTTP请求,这些过滤器负责登录验证、权限检查等任务。 ...
Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。在本示例中,我们将探讨如何使用Spring Security为简单的Web应用程序添加安全功能。首先,让我们了解一下Spring ...