首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis令牌商店

Redis令牌商店
EN

Stack Overflow用户
提问于 2015-11-17 10:48:43
回答 1查看 6.1K关注 0票数 7

我想在集群环境中部署REST。为此,我需要将我的OAuth 2.0令牌存储在共享令牌存储中。目前我正在使用Security的InMemoryTokenStore,它不能在多节点集群上共享。我计划用Redis存储令牌。

我发现Security的最新版本(即2.8.0 )也提供了RedisTokenStore。我对此有一些疑问:

  1. 在现有的security配置中使用RedisTokenStore需要进行哪些更改。目前我正在使用InMemoryTokenStore。
  2. 如何使RedisTokenStore与集群中的所有节点共享。
  3. 如果是的话,我可以使用Redis集群来存储令牌吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-14 04:13:58

关于第一个问题:

首先,向您提供有关redis令牌存储的spring安全xml示例。

代码语言:javascript
复制
<!--Use Redis Token Store-->
<beans:bean id="tokenStore"
            class="org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore">
    <beans:constructor-arg name="connectionFactory" ref="redisConnectionFactory"/>
</beans:bean>

<!--create redis connection factory and set db 1-->
<beans:bean id="redisConnectionFactory"
            class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <beans:property name="hostName" value="localhost"/>
    <beans:property name="port" value="6379"/>
    <beans:property name="password" value=""/>
    <beans:property name="database" value="1"/>
</beans:bean>

其次,您需要将spring数据redis和jedis jar添加到您的项目中,我使用gradle,在依赖项中添加项,如:

代码语言:javascript
复制
......
compile 'org.springframework.data:spring-data-redis:1.6.2.RELEASE'
compile 'redis.clients:jedis:2.8.0'
......

关于森康德问题:

如果一个集群的所有节点使用一个reids服务器或群集,那么您的访问令牌将在所有节点之间共享。您可以检查redis db数据,并跟踪访问过程以验证这一点。所以你不用担心。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33755016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档