Spring Security教程(5)---- 国际化配置及UserCache

简介:

这一章是为了给后面的讲解打基础的,主要介绍下国际化的配置及UserCache的配置及使用

国际化配置

 

[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. <!-- 定义上下文返回的消息的国际化 -->  
  2. <bean id="messageSource"  
  3.     class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
  4.     <property name="basename"  
  5.         value="classpath:config/messages_zh_CN"/>  
  6. </bean>  

basename中配置的是消息文件的路径

 

在spring-security-core-3.2.0.M1.jar包中的org.springframework.security下可以找到国际化文件,可以直接拿来,这个类也可以用在项目中

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. @Autowired  
  2. private MessageSource messageSource;  

这样就可以在类中引如MessageSource使用了,MessageSource提供了下面三个方法

 

 

[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. String getMessage(String code, Object[] args, String defaultMessage, Locale locale);  
  2. String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException;  
  3. String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;  

比如我们在property文件中定义了如下消息

 

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. UserDetails.isLocked=用户已被锁定  
  2. UserDetails.userNotFound=用户{0}不存在  

然后使用getMessage方法
getMessage("UserDetails.isLocked",null,null)  //用户已被锁定

 

getMessage("UserDetails.isLocked",new Object[]{“admin”},null)  //用户admin不存在

 

UserCache配置,通过ecahe实现

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. <!-- 启用用户的缓存功能 -->  
  2. <bean id="userCache"  
  3.     class="org.springframework.security.core.userdetails.cache.EhCacheBasedUserCache">  
  4.     <property name="cache" ref="userEhCache" />  
  5. </bean>  
  6.   
  7. <bean id="userEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">  
  8.     <property name="cacheName" value="userCache" />  
  9.     <property name="cacheManager" ref="cacheManager" />  
  10. </bean>  
  11.   
  12. <bean id="cacheManager"  
  13.     class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" />  

 

ehcache.xml

 

[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. <cache  
  2.     name="userCache"  
  3.     maxElementsInMemory="100"  
  4.     eternal="false"  
  5.     timeToIdleSeconds="600"  
  6.     timeToLiveSeconds="3600"  
  7.     overflowToDisk="true"  
  8. />  

 

注入ecache

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. @Autowired  
  2. private UserCache userCache;  

这样在程序中就可以通过

 

this.userCache.getUserFromCache(username);获取到缓存中的用户对象

用户对象为UserDetails类型

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/5213626.html,如需转载请自行联系原作者
相关文章
|
20天前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
117 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
16天前
|
XML JavaScript Java
Spring Retry 教程
Spring Retry 是 Spring 提供的用于处理方法重试的库,通过 AOP 提供声明式重试机制,不侵入业务逻辑代码。主要步骤包括:添加依赖、启用重试机制、设置重试策略(如异常类型、重试次数、延迟策略等),并可定义重试失败后的回调方法。适用于因瞬时故障导致的操作失败场景。
Spring Retry 教程
|
8天前
|
前端开发 Java Spring
关于spring mvc 的 addPathPatterns 拦截配置常见问题
关于spring mvc 的 addPathPatterns 拦截配置常见问题
|
21天前
|
Java 数据库连接 Maven
Spring基础1——Spring(配置开发版),IOC和DI
spring介绍、入门案例、控制反转IOC、IOC容器、Bean、依赖注入DI
Spring基础1——Spring(配置开发版),IOC和DI
|
1月前
|
IDE Java 开发工具
还在为繁琐的配置头疼吗?一文教你如何用 Spring Boot 快速启动,让开发效率飙升,从此告别加班——打造你的首个轻量级应用!
【9月更文挑战第2天】Spring Boot 是一款基于 Spring 框架的简化开发工具包,采用“约定优于配置”的原则,帮助开发者快速创建独立的生产级应用程序。本文将指导您完成首个 Spring Boot 项目的搭建过程,包括环境配置、项目初始化、添加依赖、编写控制器及运行应用。首先需确保 JDK 版本不低于 8,并安装支持 Spring Boot 的现代 IDE,如 IntelliJ IDEA 或 Eclipse。
86 5
|
2月前
|
Java Spring 开发者
解锁 Spring Boot 自动化配置的黑科技:带你走进一键配置的高效开发新时代,再也不怕繁琐设置!
【8月更文挑战第31天】Spring Boot 的自动化配置机制极大简化了开发流程,使开发者能专注业务逻辑。通过 `@SpringBootApplication` 注解组合,特别是 `@EnableAutoConfiguration`,Spring Boot 可自动激活所需配置。例如,添加 JPA 依赖后,只需在 `application.properties` 配置数据库信息,即可自动完成 JPA 和数据源设置。这一机制基于多种条件注解(如 `@ConditionalOnClass`)实现智能配置。深入理解该机制有助于提升开发效率并更好地解决问题。
49 0
|
5月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
949 0
|
XML Java 数据库连接
【Spring学习笔记 五】Spring注解及Java类配置开发
【Spring学习笔记 五】Spring注解及Java类配置开发
91 0
|
XML Java 数据格式
Spring学习笔记:02 spring配置
Spring学习笔记:02 spring配置
|
7天前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
下一篇
无影云桌面