मैं प्राधिकृत एट्रिब्यूट का उपयोग करना चाहता हूं ताकि यह नियंत्रित किया जा सके कि किन उपयोगकर्ताओं को मेरे कार्यों तक पहुंच की अनुमति है। मैं सिर्फ यह स्पष्ट करना चाहता हूं कि मेरा तर्क क्रम में है।एएसपी.NET एमवीसी सदस्यता
- मुझे लगता है मैं एक सुरक्षा नियंत्रक के एक लॉगिन कार्रवाई के लिए एक उपयोगकर्ता की साख पोस्ट IPrincipal
- के अपने खुद के कार्यान्वयन पैदा करते हैं।
- मैं एक UserService वर्ग के साथ क्रेडेंशियल्स को सत्यापित और IPrincipal HttpContext.User
- मेरे WebAuthorizeAttribute, जो AuthorizeAttribute इनहेरिट करती है, वर्तमान की जाँच करता है करने के लिए अपने UserService वर्ग से लौटे आवंटित HttpContext.User.Identity.IsAuthenticated और HttpContext.User.IsInRole यह निर्धारित करने के लिए कि उपयोगकर्ता को कार्रवाई तक पहुंच है या नहीं।
चीजों का सामान्य प्रवाह है? मुझे पता है कि मैं सदस्यता प्रदाता का उत्तराधिकारी हो सकता हूं, लेकिन मुझे वहां की सभी कार्यक्षमताओं की आवश्यकता नहीं है, वास्तव में केवल दो अलग-अलग भूमिकाओं के साथ लॉगिन करने की क्षमता है।
मैंने बहुत से प्रश्न और ब्लॉग ब्लॉग पढ़े हैं लेकिन कोई भी वास्तव में इस पूरे हिस्से को संदर्भ में नहीं डालता है। – scottm
क्या आप MyBusinessLayerSecurityClass.CreatePrincipal (id, id.Name) भाग को समझा सकते हैं। अगर आपको HttpContext.Current.User प्रॉपर्टी शून्य है, तो मुझे समझ में नहीं आता कि आपको फॉर्म इडेंटिटी कैसे मिलती है। – scottm