服务器之家

服务器之家 > 正文

spring security国际化及UserCache的配置和使用

时间:2021-01-08 12:04     来源/作者:动力节点

国际化配置

?
1
2
3
4
5
6
<!-- 定义上下文返回的消息的国际化 -->
<bean id="messageSource"
  class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  <property name="basename"
    value="classpath:config/messages_zh_CN"/>
</bean>

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

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

?
1
2
@Autowired
private MessageSource messageSource;

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

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文件中定义了如下消息

1.UserDetails.isLocked=用户已被锁定  

2.UserDetails.userNotFound=用户{0}不存在  

然后使用getMessage方法

?
1
2
getMessage("UserDetails.isLocked",null,null) //用户已被锁定
getMessage("UserDetails.isLocked",new Object[]{“admin”},null) //用户admin不存在

UserCache配置,通过ecahe实现

?
1
2
3
4
5
6
7
8
9
10
11
<!-- 启用用户的缓存功能 -->
<bean id="userCache"
  class="org.springframework.security.core.userdetails.cache.EhCacheBasedUserCache">
  <property name="cache" ref="userEhCache" />
</bean>
<bean id="userEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
  <property name="cacheName" value="userCache" />
  <property name="cacheManager" ref="cacheManager" />
</bean> 
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" />

ehcache.xml

?
1
2
3
4
5
6
7
8
9
10
11
<cache
  name="userCache"
  maxElementsInMemory="100"
  eternal="false"
  timeToIdleSeconds="600"
  timeToLiveSeconds="3600"
  overflowToDisk="true"
/>
注入ecache
@Autowired
private UserCache userCache;

这样在程序中就可以通过

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

用户对象为UserDetails类型

总结

以上所述是小编给大家介绍的spring security国际化及UserCache的配置和使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.sina.com.cn/s/blog_9c6852670102wwi1.html

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部