2012-08-24 16 views
11

मेरा उपयोगकर्ता डोमेन क्लास SecUser को बढ़ाता है।Grails स्प्रिंग सुरक्षा लॉगिन करने के लिए ईमेल का उपयोग

उपयोगकर्ता की संपत्ति 'ईमेल' है।

वसंत सुरक्षा लॉगिन करने के लिए SecUser के 'उपयोगकर्ता नाम' का उपयोग करती है।

मुझे लॉगिन करने के लिए 'ईमेल' का उपयोग करने की आवश्यकता है। क्या इसे करने का कोई तरीका है?

संपादित करें (स्वीकार किए जाते हैं जवाब से):

मैं SecUser के उपयोगकर्ता नाम संपत्ति को नष्ट कर दिया और ईमेल संपत्ति गयी।

grails.plugins.springsecurity.userLookup.usernamePropertyName = 'ईमेल'

उत्तर

15

RTFM मेरे दोस्त :)

http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/single.html#4.1%20Person%20Class

userLookup.usernamePropertyName 'username' User class username field 
:

तब मैं Config.groovy को यह लाइन जोड़ा

Config.grooy में जोड़ें:

grails के

नए संस्करणों

बजाय grails.plugin.springsecuritygrails.plugins.springsecurity

+0

धन्यवाद! आखिरकार मैंने आईआर काम –

+0

बनाया, सबसे पहले, मैंने उस पंक्ति को संशोधित किया जो उत्तर प्लगइन की कॉन्फ़िगरेशन फ़ाइल में उल्लिखित है। Obviusly, वह फ़ाइल संस्करणित नहीं किया गया था। फिर, मुझे एहसास हुआ कि मुझे Config.groovy फ़ाइल में कॉन्फ़िगरेशन को ओवरराइड करना था। मैंने निम्नलिखित जोड़ा: grails.plugins.springsecurity.userLookup.usernamePropertyName = 'email' –

+0

fyi, वसंत सुरक्षा के हाल के संस्करणों में, उपसर्ग बदल गया है। "आपकी सुरक्षा कॉन्फ़िगरेशन सेटिंग्स पुरानी उपसर्ग 'grails.plugins.springsecurity' का उपयोग करती हैं लेकिन अब 'grails.plugin.springsecurity' का उपयोग करना चाहिए" –

0

का एक उपसर्ग का उपयोग कर रहे आप भी वसंत सुरक्षा यूआई प्लगइन उपयोग कर रहे हैं याद रखें कि किसी भूले हुए पासवर्ड और उपयोगकर्ता पंजीकरण ईमेल संदर्भ के लिए डिफ़ॉल्ट पाठ उपयोगकर्ता नाम फ़ील्ड।

आप उन्हें इस तरह ओवरराइड कर सकते हैं:

grails.plugins.springsecurity.ui.register.emailBody = 'Hi \$user.firstName...' 
grails.plugins.springsecurity.ui.forgotPassword.emailBody = 'Hi \$user.firstName...' 
संबंधित मुद्दे