spring security国際化及びUserCacheの配置と使用


国際化の設定

<!--                --> 
<bean id="messageSource" 
  class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
  <property name="basename" 
    value="classpath:config/messages_zh_CN"/> 
</bean> 
basenameで構成されているのはメッセージファイルのパスです。
spring-security-coree-3.20.M 1.jarのカバンの中のorg.sprigframe ebork.securityの下で国際化のファイルを探し当てることができて、直接持ってくることができて、この種類もプロジェクトの中で使うことができます。

@Autowired 
private MessageSource messageSource; 
このように、クラスの中でMessage Sourceのように引用することができます。Message Sourceは次の3つの方法を提供します。
1.String get Message(String) コード、 Object[] アークス、 String default Message Locale locale);  
2.String get Message(String) コード、 Object[] アークス、 Locale locale) ローソン NoSuchMessage Exception;  
3.String get Message(Message SourceResolable) reolvable Locale locale) ローソン NoSuchMessage Exception;  
例えば、私たちはpropertyファイルで次のような情報を定義しました。
1.UserDetails.isLocked=ユーザーがロックされています。  
2.UserDetails.userNotFound=ユーザ{0}が存在しません。  
そしてgetMessageの方法を使います。

getMessage("UserDetails.isLocked",null,null) //      
getMessage("UserDetails.isLocked",new Object[]{“admin”},null) //  admin   
UserCache配置は、ecahで実現します。

<!--           --> 
<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

<cache 
  name="userCache" 
  maxElementsInMemory="100" 
  eternal="false" 
  timeToIdleSeconds="600" 
  timeToLiveSeconds="3600" 
  overflowToDisk="true" 
/> 
  ecache
@Autowired 
private UserCache userCache; 
このようにプログラムの中で通過できます。

this.userCache.getUserFromCache(username);           
ユーザオブジェクトはUserDetailタイプです。
締め括りをつける
以上は小编が绍介したspring securityの国际化とUserCacheの配置と使用についてですが、皆さんに助けてほしいです。もし何かご质问があれば、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。