2015-11-17 9 views
5

मैं क्लस्टर्ड वातावरण पर अपना आरईएसटी एपीआई तैनात करना चाहता हूं। इसके लिए, मुझे अपने ओएथ 2.0 टोकन को साझा टोकन स्टोर में स्टोर करने की आवश्यकता है। वर्तमान में मैं स्प्रिंग सिक्योरिटी के इनमेमरी टोकनस्टोर का उपयोग कर रहा हूं, जिसे मल्टी नोड क्लस्टर पर साझा नहीं किया जा सकता है। मैं रेडिस का उपयोग कर टोकन स्टोर करने की योजना बना रहा हूं।रेडिस टोकन स्टोर

मैंने पाया कि स्प्रिंग-सिक्योरिटी ओएथ i.e. 2.8.0 की नवीनतम रिलीज RedisTokenStore भी प्रदान करती है। मैं इस बारे में कुछ संदेह है:

  1. क्या परिवर्तन मौजूदा वसंत-सुरक्षा एक्सएमएल विन्यास में RedisTokenStore उपयोग करने के लिए आवश्यक हैं। वर्तमान में मैं InMemoryTokenStore का उपयोग कर रहा हूँ।

  2. क्लस्टर में सभी नोड्स के साथ RedisTokenStore साझा करने के लिए कैसे करें।

  3. क्या मैं टोकन को स्टोर करने के लिए रेडिस क्लस्टर का उपयोग कर सकता हूं, हां कैसे?

उत्तर

7

बारे में पहला सवाल:

सबसे पहले, आप वसंत-सुरक्षा एक्सएमएल उदाहरण दे redis के बारे में दुकान टोकन संदर्भ के लिए

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

दूसरे, आप में वसंत डेटा redis और jedis जार जोड़ने की जरूरत है अपने

...... 
compile 'org.springframework.data:spring-data-redis:1.6.2.RELEASE' 
compile 'redis.clients:jedis:2.8.0' 
...... 

sencond खोज के बारे में: परियोजना, मैं का उपयोग करें Gradle, आइटम की तरह निर्भरता में जोड़ने आयन:

यदि आपके क्लस्टर के सभी नोड्स एक रीड्स सर्वर या क्लस्टर का उपयोग करते हैं, तो आपका एक्सेस टोकन सभी नोड्स के बीच साझा करेगा। आप अपने रेडिस डीबी डेटा की जांच कर सकते हैं, और इसे सत्यापित करने के लिए एक्सेस प्रक्रिया को ट्रैक कर सकते हैं। तो आप इसके बारे में चिंता मत करो।