本事例:用到的jar 文件
commons-codec-1.3.jar
spring-security-core-2.0.5.RELEASE.jar
spring security 加密
package com.tht.md5;
import org.springframework.security.providers.encoding.Md5PasswordEncoder;
public class THTMD5PasswordEncoder {
/**
* @param args
*/
public static void main(String[] args) {
Md5PasswordEncoder md5=new Md5PasswordEncoder();
/*
* koala<user name="rod" password="a564de63c2d0da68cf47586ee05984d7" authorities="ROLE_SUPERVISOR, ROLE_USER, ROLE_TELLER" />
emu <user name="dianne" password="65d15fe9156f9c4bbffd98085992a44e" authorities="ROLE_USER,ROLE_TELLER" />
wombat <user name="scott" password="2b58af6dddbd072ed27ffc86725d7d3a" authorities="ROLE_USER" />
opal <user name="peter" password="22b5c9accc6e1ba628cedc63a72d57f8" authorities="ROLE_USER_S" />
<user name="think" password="22b5c9accc6e1ba628cedc63a72d57f8" authorities="ROLE_USER_S" />
* */
/*
* "a" 是key
* "abc" 密码
* 9af7268244164521c43624a92ea963ac 加密后的字节串
*/
//String md5Password=md5.encodePassword("a", "abc");rod
String md5Password=md5.encodePassword("koala", null);
System.out.println("koala:"+md5Password);
md5Password=md5.encodePassword("emu", null);
System.out.println("emu:"+md5Password);
md5Password=md5.encodePassword("wombat", null);
System.out.println("wombat:"+md5Password);
md5Password=md5.encodePassword("opal", null);
System.out.println("opal:"+md5Password);
}
}
输出
koala:a564de63c2d0da68cf47586ee05984d7
emu:65d15fe9156f9c4bbffd98085992a44e
wombat:2b58af6dddbd072ed27ffc86725d7d3a
opal:22b5c9accc6e1ba628cedc63a72d57f8
spring security 密码验证
package com.tht.md5;
import org.springframework.security.providers.encoding.Md5PasswordEncoder;
public class THTPasswordValid {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Md5PasswordEncoder md5=new Md5PasswordEncoder();
/*
* koala<user name="rod" password="a564de63c2d0da68cf47586ee05984d7" authorities="ROLE_SUPERVISOR, ROLE_USER, ROLE_TELLER" />
emu <user name="dianne" password="65d15fe9156f9c4bbffd98085992a44e" authorities="ROLE_USER,ROLE_TELLER" />
wombat <user name="scott" password="2b58af6dddbd072ed27ffc86725d7d3a" authorities="ROLE_USER" />
opal <user name="peter" password="22b5c9accc6e1ba628cedc63a72d57f8" authorities="ROLE_USER_S" />
<user name="think" password="22b5c9accc6e1ba628cedc63a72d57f8" authorities="ROLE_USER_S" />
* */
/**
* a564de63c2d0da68cf47586ee05984d7 加密后的串
* koala 密码
*/
boolean b=md5.isPasswordValid("a564de63c2d0da68cf47586ee05984d7", "koala", null);
System.out.println(b);
b=md5.isPasswordValid("65d15fe9156f9c4bbffd98085992a44e", "emu", null);
System.out.println(b);
b=md5.isPasswordValid("2b58af6dddbd072ed27ffc86725d7d3a", "wombat", null);
System.out.println(b);
}
}
输出
true
true
true
分享到:
相关推荐
2. **Authentication Manager**:负责处理用户的认证请求,它验证提供的凭证(如用户名和密码)并创建或更新`Authentication`对象,该对象包含了当前用户的权限信息。 3. **Authorization**:Spring Security的授权...
Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,专为 Java 应用程序设计。它提供了全面的安全解决方案,包括登录、授权、权限管理等,广泛应用于Web应用程序和企业级系统。在本实战例子中,...
Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于Java应用程序。它提供了全面的安全解决方案,包括用户认证、权限授权、会话管理、CSRF防护以及基于HTTP的访问控制。在这个例子中,我们将...
在Spring Security中,身份验证是验证用户身份的过程,这通常涉及到用户名和密码的提交。当用户尝试访问受保护的资源时,Spring Security会检查这些凭据,并在验证成功后创建一个Security Context,其中包含了一个...
Spring Security提供了`JdbcAuthenticationProvider`,它能与数据库配合,通过`UserDetailsService`提供的信息验证用户名和密码。 3. **DataSource**: 在配置中,你需要指定用于存储用户信息的数据库连接。这通常是...
这意味着Spring Security会自动处理登录表单的提交,并尝试验证用户名和密码。这通常涉及到一个用户DetailsService,它负责从数据库或其他数据源查找用户信息。 在实际应用中,还需要定义用户信息。这可以通过实现`...
在这个例子中,我们将探讨如何将Spring Security与MySQL数据库结合使用,通过bean配置来实现用户认证和权限管理。首先,我们需要理解Spring Security的基本架构,它由一系列组件构成,如AuthenticationManager负责...
2. **身份验证**:学习如何创建自定义UserDetailsService,处理用户的登录认证,包括密码加密。 3. **授权**:掌握基于角色的访问控制(RBAC),使用`hasRole`或`@Secured`注解来限制访问权限。 4. **表达式访问...
Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个"spring-security-samples-contacts-2.0.4"示例中,我们聚焦于如何将Spring Security集成到一个联系人管理应用中,并针对MySQL...
在Spring Security中,用户通过用户名和密码进行认证,系统会验证这些凭证是否有效。 - **授权(Authorization)**:确定认证后的用户可以访问哪些资源或执行哪些操作。这涉及到角色、权限和访问控制列表(Access ...
在数据库中,我们需要有用户表和角色表,例如`users`和`user_roles`,以存储用户的用户名、加密后的密码和状态。`user_roles`表用于关联用户和他们的角色,以便进行权限控制。 然后是AOP的使用。Spring Security...
密码编码器是Spring Security中用于加密和验证密码的重要组件,可以自定义实现以满足特定的安全需求。 **2.3. 高级web特性** - **2.3.1. Remember-Me认证** Remember-Me功能可以让用户在关闭浏览器后仍能保持...
根据给定的信息,我们可以从《Spring Security3 中文版》一书中提炼出多个重要的知识点,主要涉及Spring Security的基础概念、具体实现以及高级配置等方面。下面将详细解释每一部分的关键内容。 ### 第一章:一个不...
Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。在本示例中,我们将深入探讨Spring Security的核心概念、功能以及如何通过源码实现一个基本的安全配置。 首先,...
Spring Security 5在之前版本的基础上进行了优化,增强了性能,支持了最新的加密技术和标准。 在这个示例中,我们将探讨以下关键知识点: 1. **配置Spring Security**:首先,我们需要在Spring Boot项目中引入...
- **定义:** Spring Security 是一个强大的且高度可定制的身份验证和授权框架。它为基于 Java 的企业级应用程序提供了功能丰富的 API 来满足安全需求。 - **特点:** 易于集成到现有应用程序中,并且能够通过自定义...
在提供的`github地址.txt`中,可能包含了一个示例项目的GitHub链接,你可以从那里下载`example-spring-boot-security-master.zip`,这是一个完整的Spring Boot和Spring Security整合的例子。这个例子可能包含了如何...
5.5. Spring Security中的访问控制(验证) 5.5.1. 安全和AOP建议 5.5.2. 安全对象和AbstractSecurityInterceptor 5.5.2.1. 配置属性是什么? 5.5.2.2. RunAsManager 5.5.2.3. AfterInvocationManager 5.5.2.4...
Spring Security作为Java领域的安全框架,提供了全面的身份验证和授权服务。而Xfire(现已被Apache CXF项目合并)则是一个用于构建Web服务的轻量级框架。将这两者结合起来,可以实现强大的WS-Security(Web服务安全...