原文地址:http://www.javaarch.net/jiagoushi/696.htm
Spring Security Basic Authentication spring security 配置 <?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-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <http use-expressions="true"> <intercept-url pattern="/**" access="isAuthenticated()" /> <http-basic /> </http> <authentication-manager> <authentication-provider> <user-service> <user name="user1" password="user1Pass" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager> </beans:beans> <http-basic>打开basic验证, 如果我们访问:curl -i http://localhost:8080/spring-security-basic-auth/homepage.html 会返回401 HTTP/1.1 401 Unauthorized Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=E5A8D3C16B65A0A007CFAACAEEE6916B; Path=/spring-security-basic-auth/; HttpOnly WWW-Authenticate: Basic realm="Spring Security Application" Content-Type: text/html;charset=utf-8 Content-Length: 1061 Date: Wed, 29 May 2013 15:14:08 GMT 如果我们使用下面的url访问:curl -i --user user1:user1Pass http://localhost:8080/spring-security-basic-auth/homepage.html 则返回200 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=301225C7AE7C74B0892887389996785D; Path=/spring-security-basic-auth/; HttpOnly Content-Type: text/html;charset=ISO-8859-1 Content-Language: en-US Content-Length: 90 Date: Wed, 29 May 2013 15:19:38 GMT 我们也可以使用spring提供的扩展接口来实现验证结果自定义 <http-basic entry-point-ref="myBasicAuthenticationEntryPoint" /> @Component public class MyBasicAuthenticationEntryPoint extends BasicAuthenticationEntryPoint { @Override public void commence (HttpServletRequest request, HttpServletResponse response, AuthenticationException authEx) throws IOException, ServletException { response.addHeader("WWW-Authenticate", "Basic realm=\"" + getRealmName() + "\""); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); PrintWriter writer = response.getWriter(); writer.println("HTTP Status 401 - " + authEx.getMessage()); } @Override public void afterPropertiesSet() throws Exception { setRealmName("Baeldung"); super.afterPropertiesSet(); } }
相关推荐
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是一个功能强大且可高度定制的身份验证和访问控制框架,它是保护基于Spring的应用程序的事实标准。Spring Security 3作为该框架的一个版本,提供了丰富的安全性配置选项,涵盖了从基础的认证和授权到...
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请求,进行身份验证和授权,确保只有...
### Spring Security详细介绍及使用 #### 一、Spring Security概述 Spring Security是一款强大的安全框架,它专为基于Spring的企业级应用提供了声明式安全访问控制。该框架利用Spring框架的核心功能,如IoC...
6. **无状态认证(Token-based Authentication)**:尽管例子没有明确提到,但SpringSecurity也支持JWT(JSON Web Tokens)或OAuth2等无状态认证方式,这在现代API开发中非常常见。 7. **CSRF防护**:Spring...
- Spring Security 3支持多种认证方式,如Basic认证、Form认证等。在`http`元素内,通过`form-login`或`http-basic`子元素来配置这些认证方式。 - `password-encoder`: 用于加密和比较用户输入的密码。Spring ...
SpringSecurity提供了几种不同的认证方式,如基于表单的登录、基于HTTP Basic的认证等。在配置中,我们需要定义一个AuthenticationProvider,它会处理用户提交的凭证并进行验证。例如,我们可以使用...
Spring Security的核心组件包括Authentication(认证)、Authorization(授权)和Filter Chain(过滤器链)。在Web应用中,它会通过一系列预定义的过滤器处理HTTP请求,这些过滤器负责登录验证、权限检查等任务。 ...
1. **核心概念**:包括Security Context、Authentication、Authorization、Access Decision Manager等,它们构成了Spring Security的基础架构。 2. **配置机制**:如XML配置和Java配置两种方式,理解配置项的作用和...
在 `SpringSecurityTest01` 这个压缩包文件中,你可能找到了一个示例项目,它可能包含了配置类、控制器、视图和测试用例。通过分析这些代码,你可以更深入地理解如何在实际项目中应用 Spring Security。 总之,...
Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。在本示例中,我们将探讨如何使用Spring Security为简单的Web应用程序添加安全功能。首先,让我们了解一下Spring ...