का उपयोग करके डेटा सुरक्षा ऑपरेशन Azure पर असफल रहा था। मैं Azure में चल रहे ओविन/कटाना आधारित एएसपी.नेट एमवीसी वेबसाइट पर पासवर्ड रीसेट लागू करने का प्रयास कर रहा हूं।ओडिन/कटाना
स्थानीय स्तर पर चलने पर यह ठीक काम करता है लेकिन उत्पादन में विफल रहता है।
मैं एक UserToken प्रदाता
userManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("PasswordReset"))
बनाने लेकिन जब मैं इस प्रकार टोकन उत्पन्न करने का प्रयास मैं अंत में एक अपवाद शो मिलता है।
var resetToken = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
System.Security.Cryptography.CryptographicException: The data protection operation was unsuccessful. This may have been caused by not having the user profile loaded for the current thread's user context, which may be the case when the thread is impersonating.
at System.Security.Cryptography.ProtectedData.Protect(Byte[] userData, Byte[] optionalEntropy, DataProtectionScope scope)
at System.Security.Cryptography.DpapiDataProtector.ProviderProtect(Byte[] userData)
at System.Security.Cryptography.DataProtector.Protect(Byte[] userData)
at Microsoft.Owin.Security.DataProtection.DpapiDataProtector.Protect(Byte[] userData)
at Microsoft.AspNet.Identity.Owin.DataProtectorTokenProvider`2.<GenerateAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNet.Identity.UserManager`2.<GenerateUserTokenAsync>d__e9.MoveNext()
क्या आपको अभी तक समाधान मिला है? – Dragouf
अभी तक नोट करें। कोई विचार? –
हाँ मुझे एक कामकाज मिला लेकिन मैं पूरी तरह से संतुष्ट नहीं हूं। ऐसा लगता है कि यह ऐपनाम पैरामीटर के कारण है जो एप्लिकेशन में हर जगह समान नहीं है। तो मैंने IDataPRovider को instanciate करने के लिए OwinStartupAttribute से कॉन्फ़िगरेशन (IAppBuilder ऐप) कॉल के ऐप पैरामीटर का उपयोग किया और ऐसा लगता है कि यह काम करता है। डेटाप्रोवाइडर ऑब्जेक्ट प्राप्त करने के लिए आप इसे ऐसा कर सकते हैं: app.GetDataProtectionProvider()। मुझे बताएं कि यह – Dragouf