में दावा प्रकारों का सही ढंग से उपयोग करना मैं ओविन और पहचान का उपयोग कर रहा हूं और मुझे दावों में समस्या है।ओविन पहचान और Asp.Net एमवीसी
मेरे पास ऐसे एप्लिकेशन हैं जहां उपयोगकर्ता प्रमाणीकरण के लिए ईमेल का उपयोग करते हैं और अन्य उपयोगकर्ता नाम का उपयोग करते हैं।
व्यापार परत में साइन इन विधि मामले के आधार पर एक ईमेल या उपयोगकर्ता नाम स्वीकार कर सकती है।
उपयोगकर्ता पहचान को "obfuscate" करने के लिए मैं उपयोगकर्ता जानकारी के साथ एक पृष्ठ प्रदर्शित करते समय, प्रत्येक उपयोगकर्ता के लिए अद्वितीय, एक GUID का उपयोग करता हूं।
मैं भी इस का उपयोग करें क्योंकि कभी कभी एक ईमेल या एक उपयोगकर्ता नाम URL में एक समस्या हो सकती ...
जब मैं एक उपयोगकर्ता हस्ताक्षर मैं निम्नलिखित दावे प्रकार है:
new Claim(ClaimTypes.Email, user.Email),
new Claim(ClaimTypes.Name, user.FullName),
new Claim(ClaimTypes.GivenName, user.FirstName),
new Claim(ClaimTypes.Surname, user.LastName),
new Claim(ClaimTypes.NameIdentifier, user.UserUniqueIdentifier.ToString())
तो मेरी व्याख्या है:
Email is the user's email
Name is the user's full name
GivenName is the user's first name
Surname is the user's last name
NameIdentifier is the user's unique identifier ... It can be the email, the username or in this case I am using an Unique ID.
क्या अजीब बात है वहाँ प्रयोक्ता नाम के लिए कोई दावा प्रकार है। इसे कहां रखना होगा?
असल में ऐसा लगता है कि उपयोगकर्ता नाम अद्वितीय नाम पहचानकर्ता के रूप में उपयोग नहीं किया जाता है लेकिन यह अभी भी आवश्यक है।
क्या मेरे तर्क दावों के प्रकार में कुछ गड़बड़ है?
और आप उपयोगकर्ता का असली नाम कहां स्टोर करेंगे? मेरा मतलब है, कल्पना करें कि उपयोगकर्ता का नाम "जॉन ब्रॉक स्मिथ" है –
आप अपने दावों को बना सकते हैं। वे सिर्फ तार हैं। पूर्ण नाम नामक एक स्ट्रिंग स्थिर बनाएं। नया दावा (पूर्णनाम, "जॉन ब्रॉक स्मिथ"), – cecilphillip