18

पर विफल रहता है मैं एक एमवीसी 3 साइट पर काम कर रहा हूं, और मुझे एएसपी.NET सदस्यता के साथ एक परेशानी की समस्या है। मैं System.Web.Providers 1.0.1 का उपयोग कर रहा हूं एक SQL Azure डेटाबेस से जुड़ा हुआ है।एएसपी.नेट सदस्यता - लॉगिन स्थानीय रूप से काम करता है, Azure

जैसा कि अब है, वही उपयोगकर्ता नाम/पासवर्ड जो कि कंप्यूट एमुलेटर के तहत चलते समय मुझे लॉग इन करता है, ठीक से Azure के तहत चलने पर विफल रहता है। मैं देख सकता हूं कि यह सही डेटाबेस का उपयोग कर रहा है, क्योंकि सदस्यता डेटाबेस में विफल पासवर्ड प्रयास काउंटर अपडेट किया जा रहा है।

+0

मैं आपको यह नहीं बता सकता कि विशिष्ट समस्या क्या है, लेकिन मैं आपको सलाह दूंगा कि आप अपनी तैनाती के लिए इंटेलिट्रेस सक्षम करें। इंटेलिट्रेस सक्षम होने के कारण, क्लाउड प्रोजेक्ट को तैनात करें, एक लॉगिन प्रयास करें, फिर इंटेलिट्रेस लॉग डाउनलोड करें। आपको पता चलेगा कि इंटेलिट्रेस कितना शक्तिशाली और उपयोगी है, और मुझे यकीन है कि अपवादों को देखकर आप इस मुद्दे को कम कर देंगे। – astaykov

+1

सुझाव के लिए धन्यवाद, लेकिन जहां तक ​​मुझे पता है कि इंटेलिट्रेस केवल वीएस अल्टीमेट के साथ समर्थित है, और मुझे यकीन नहीं है कि मैं अपने मौजूदा एमएसडीएन सदस्यता के शीर्ष पर अतिरिक्त $ 12,000 खोलने के लिए तैयार हूं जो कुछ हो सकता है या हो सकता है मेरी समस्या का समाधान नहीं है। –

+0

रुको ... आप "गणना एमुलेटर के तहत" कह रहे हैं जिसका अर्थ है कि आप वेब भूमिकाओं या कार्यकर्ता भूमिकाओं का उपयोग कर रहे हैं - वेब साइट्स (यानी आईआईएस) नहीं, है ना? क्या मशीनकी बदलती है आपके कंप्यूट एमुलेटर के व्यवहार को बदलती है? –

उत्तर

28

मैंने इसे ट्रैक किया, this article by David Hoerster में कुछ जानकारी के लिए धन्यवाद। समस्या यह है कि Azure पर डिफ़ॉल्ट पासवर्ड हैशिंग एल्गोरिदम .NET 4.0 डिफ़ॉल्ट से अलग है। यह Azure पर SHA1 पर सेट है, और HMACSHA256 4.0 पर नई मानक सेटिंग है।

यह हैश प्रकार को स्पष्ट रूप से web.config में निर्दिष्ट करके तय किया जा सकता है। यदि आप HMACSHA256 जैसी विधि का उपयोग करने का निर्णय लेते हैं, तो सुनिश्चित करें कि आप मशीन कुंजी भी निर्दिष्ट करते हैं - अन्यथा आप समान समस्याओं में भाग लेंगे क्योंकि स्वत: जेनरेट की गई मशीन कुंजी सर्वर से सर्वर में भिन्न होगी।

< machinekey> तहत < system.web> विन्यास तत्व आप को बदलने की जरूरत है:

<machineKey decryptionKey="PUT_DECRYPTION_KEY_HERE" 
      validationKey="PUT_VALIDATION_KEY_HERE" 
      decryption="AES" 
      validation="HMACSHA256" /> 

आप this machine key generator का उपयोग उचित प्रारूप में यादृच्छिक कुंजी उत्पन्न कर सकते हैं।

+1

संदर्भ के लिए धन्यवाद! :) –

+1

आपका स्वागत है - अगर यह आपके लिए नहीं था, तो मुझे JACSHT नहीं पता होगा :-) –

+1

HAHAHA !!! यह प्रफुल्लित करने वाला है। मुझे उस संक्षिप्त शब्द को और बढ़ावा देना होगा। हंसने के लिए धन्यवाद! –

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