वर्तमान में, मैं दोनों नियंत्रकों और जीएसपी पृष्ठों में डिफ़ॉल्ट HttpSession वस्तु का उपयोग कर रहाएक ग्रेल्स वेब एप्लिकेशन में शिरो देशी सत्र का उपयोग कैसे करें?</p> <p>नियंत्रकों में:</p> <pre><code>... session.mykey = anObject; // adding an object to session ... if (session.otherkey) { // performing some checking </code></pre> <p>GSPs में:
...
<g:if test="${session.mykey}">
...
मैं एक है "करना चाहते हैं मुझे याद रखें "कार्यक्षमता। शिरो पहले से ही इसमें बनाया गया है। हालांकि, जहां तक मुझे समझ में आया, मुझे इसे शिरो देशी सत्र मोड (Config.groovy: security.shiro.session.mode = "native" में) का उपयोग करना है। डिफ़ॉल्ट रूप से, यह सत्र स्थिति बनी रहती है, इसलिए ऑब्जेक्ट सत्र में तब तक रहेगी जब तक कुकी समाप्त हो जाती है या उपयोगकर्ता लॉग ऑफ हो जाता है।
क्या मेरी समझ सही है? यह करने के लिए
def shiroSession = SecurityUtils.subject.session
shiroSession.setAttribute("mykey",anObject)
....
if (shiroSession.getAttribute("otherkey")){
और मेरे विचार::
तो मैं इस के लिए मेरे नियंत्रकों को बदलने के लिए होगा
<g:if test="${SecurityUtils.subject.session.getAttribute('mykey')}">
तो, मेरे सवाल कर रहे हैं:
- यह सही है ?
- क्या मैं सत्र तक पहुंचने के लिए पिछले तरीके का उपयोग नहीं कर सकता?
- क्या मुझे कुछ कॉन्फ़िगरेशन में डिफ़ॉल्ट http सत्र बंद करना है?
आपको "मुझे याद रखें" का उपयोग करने के लिए मूल सत्र की आवश्यकता नहीं है। – user852518
आप क्या सुझाव देते हैं? क्या आप मुझे कुछ लिंक बता सकते हैं? मैंने इस पोस्ट को पढ़ने के बाद मूल सत्र की कोशिश की: http://grails.1312388.n4.nabble.com/Forcing- प्रमाणीकरण-of-user-in-Grails-filter-using-Shiro-tp3698679p3702316.html – r0drigopaes
से: https: //grails.org/plugin/shiro सम्मेलन द्वारा अभिगम नियंत्रण को देखो। आपने '' 'accessUontrol (auth: false)' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' काम करना चाहिए यदि आप याद कर रहे हैं मेरे ध्वज ठीक से। –