spring security国际化及UserCache的配置和使用
发布时间 - 2026-01-11 03:22:29 点击率:次国际化配置
<!-- 定义上下文返回的消息的国际化 -->
<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下可以找到国际化文件,可以直接拿来,这个类也可以用在项目中
@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方法
getMessage("UserDetails.isLocked",null,null) //用户已被锁定
getMessage("UserDetails.isLocked",new Object[]{“admin”},null) //用户admin不存在
UserCache配置,通过ecahe实现
<!-- 启用用户的缓存功能 --> <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);获取到缓存中的用户对象
用户对象为UserDetails类型
总结
以上所述是小编给大家介绍的spring security国际化及UserCache的配置和使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# spring
# security
# 国际化
# usercache
# 配置
# Spring Boot Security 结合 JWT 实现无状态的分布式API接口
# spring security动态配置url权限的2种实现方法
# SpringBoot + Spring Security 基本使用及个性化登录配置详解
# 详解Spring Security 简单配置
# 详解spring security 配置多个AuthenticationProvider
# spring security在分布式项目下的配置方法(案例详解)
# 已被
# 不存在
# 小编
# 的是
# 在此
# 可以通过
# 给大家
# 可以直接
# 用在
# 中就
# 可以找到
# 所述
# 给我留言
# 感谢大家
# 就可以
# 类中
# 包中
# 疑问请
# 有任何
# 使用了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript如何实现倒计时_时间函数如何精确控制
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
linux写shell需要注意的问题(必看)
Python进程池调度策略_任务分发说明【指导】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
如何确认建站备案号应放置的具体位置?
java ZXing生成二维码及条码实例分享
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
百度浏览器如何管理插件 百度浏览器插件管理方法
高性能网站服务器部署指南:稳定运行与安全配置优化方案
node.js报错:Cannot find module 'ejs'的解决办法
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
如何获取PHP WAP自助建站系统源码?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何在企业微信快速生成手机电脑官网?
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
如何在云主机快速搭建网站站点?
Laravel如何发送系统通知?(Notification渠道示例)
青岛网站建设如何选择本地服务器?
Android Socket接口实现即时通讯实例代码
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel如何实现文件上传和存储?(本地与S3配置)
Laravel如何使用Livewire构建动态组件?(入门代码)
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Laravel模型事件有哪些_Laravel Model Event生命周期详解
香港服务器如何优化才能显著提升网站加载速度?
如何用花生壳三步快速搭建专属网站?
Laravel如何使用Eloquent进行子查询
如何在阿里云通过域名搭建网站?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
Laravel如何实现用户密码重置功能?(完整流程代码)
js代码实现下拉菜单【推荐】
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel中的withCount方法怎么高效统计关联模型数量
如何在橙子建站中快速调整背景颜色?
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在香港服务器上快速搭建免备案网站?
如何快速搭建个人网站并优化SEO?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
如何基于PHP生成高效IDC网络公司建站源码?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
详解jQuery中的事件

