spring security国際化及びUserCacheの配置と使用
国際化の設定
spring-security-coree-3.20.M 1.jarのカバンの中のorg.sprigframe ebork.securityの下で国際化のファイルを探し当てることができて、直接持ってくることができて、この種類もプロジェクトの中で使うことができます。
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の方法を使います。
締め括りをつける
以上は小编が绍介した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の配置と使用についてですが、皆さんに助けてほしいです。もし何かご质问があれば、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。