2015-08-05 19 views
13

मैंने हाल ही में एक एमवीसी 5 वेब साइट को फ्रंट एंड प्रोटोटाइप के रूप में बनाया और प्रमाणीकरण के लिए व्यक्तिगत खातों का उपयोग किया। अब मुझे एक वेबएपी 2 बैकएंड बनाने की ज़रूरत है जो इस वेबसाइट के साथ-साथ एक आईफोन ऐप और कई अन्य क्लाइंट्स की सेवा करेगी। मैं एमवीसी साइट और वेबएपीआई के साथ प्रमाणीकरण के बारे में उलझन में हूं।एएसपी.नेट एमवीसी 5 और वेबएपी 2 प्रमाणीकरण

मैं चाहता हूं कि सभी उपयोगकर्ता प्रबंधन वेबएपी (जो टोकन का उपयोग करेंगे) के माध्यम से हो जाएं ताकि यह क्लाइंट अज्ञेयवादी हो, हालांकि मुझे नहीं पता कि वेबसाइट पक्ष पर कुकी प्रमाणीकरण मेरी पहचान कक्षाओं के बिना कैसे काम करेगा। ऐसा लगता है कि मैं एमवीसी साइट और वेबएपीआई के साथ कोड डुप्लिकेट कर दूंगा। मैं mvc साइट के लिए कुकीज़ का उपयोग करना चाहता हूं, और वेबपै के लिए ओथ टोकन का उपयोग करना चाहता हूं। क्या मुझे इसे प्रबंधित करने के लिए पहचान प्रदाता जैसे किसी अन्य प्रोजेक्ट की आवश्यकता है? या सिर्फ एमवीसी और वेबएपी परियोजनाओं का उपयोग करके इसे लागू करने का एक साफ तरीका है। धन्यवाद!

संपादित करें: मैं मुख्य रूप से उपयोगकर्ताओं की पहचान को प्रबंधित करने के तरीके के बारे में उलझन में हूं कि उपयोगकर्ता एमवीसी साइट और वेबएपी अनुरोध दोनों के माध्यम से लॉगिन करने में सक्षम हैं। मुझे UserIdentity और एक एकीकृत तरीके से दावा उत्पन्न करने में सक्षम होना चाहिए और जब मैं एमवीसी व्यक्तिगत खाता टेम्पलेट और WebApi2 व्यक्तिगत खाता प्रमाणीकरण टेम्पलेट दोनों के साथ काम करने के लिए हूं तो मैं उलझन में हूं। मैं एक एडब्ल्यूएस होस्ट किए गए मोंगोडीबी उदाहरण में उपयोगकर्ताओं, दावों आदि को स्टोर करना चाहता हूं।

+0

आपने इसे कैसे कार्यान्वित किया। मेरे पास स्थिति है। कृपया इसे साझा करें। [मेरा प्रश्न] देखें (http://stackoverflow.com/questions/37133060/mvc-login-with-web-api) –

+0

मैंने पहचान सर्वर का उपयोग करके कार्यान्वित किया, यह एक महान ओपन सोर्स प्रोजेक्ट है – narciero

उत्तर

1

सदस्यता प्रदाता के बारे में सोचें ऐप को समर्पित तकनीक से अलग और स्वतंत्र के रूप में। प्रमाणीकरण प्रमाणीकरण है जो किसी विशेष तकनीक पर निर्भर नहीं है।

http://www.asp.net/identity/overview/getting-started/aspnet-identity-recommended-resources

2

दोनों टेम्पलेट्स (MVC और एपीआई) एक SigninManager और UserManager का उपयोग करें। मानक उपयोगकर्ता प्रबंधक कार्यान्वयन यह SQL सर्वर और इकाई फ्रेमवर्क पर आधारित है।

आप MongoDB पर उपयोगकर्ता डेटा mantain चाहते हैं, सबसे अच्छा समाधान imo यह कम से कम IUserStore और IUserRoleStore इंटरफेस को लागू करने के अपने खुद के UserStore रोल, या this का उपयोग nuget UserManager के लिए पैकेज

आप उपयोग कर सकते हैं करने के लिए मानक कार्यान्वयन।

एएसपीनेट पहचान कि आप इसका ओपन सोर्स का उपयोग कर रहे हैं और आप कोडेप्लेक्स पर एक नज़र डाल सकते हैं (जीथ्यूब पर यह एक एमवीसी 6 के लिए है)।

मुझे लगता है कि यह है कि सबसे अच्छा तरीका है अपने परिदृश्य को संभालने के लिए:

  • वेबसाइट लॉगिन के लिए, मानक वेब उपयोगकर्ता के लिए, एक मानक MVC नियंत्रक पर एक लॉगिन कार्रवाई बनाने के लिए और SignInManager काम करते हैं; आप टेम्पलेट
  • एपीआई लॉगिन के लिए मानक लॉगिन विधि का उपयोग कर सकते हैं, एक सरल OAuthAuthorizationServerProvider लागू करें और GrantResourceOwnerCredentials विधि को ओवरराइड करें; this एक अच्छा लेख है कि आप सभी चरणों

आशा इस मदद करता है पता चलता है!

संबंधित मुद्दे