सत्यापित करने में असमर्थ है, मैं नई वेबपी का उपयोग कर रहा हूं।किसी प्रपत्र प्रमाणीकरण टिकट को डिक्रिप्ट करने का प्रयास हमेशा डेटा
अब मुझे नहीं पता कि मैं यह सही तरीके से कर रहा हूं लेकिन मैं एक एपीआई को एक अन्य एमवीसी एप्लिकेशन पर उपयोग करने के लिए HttpResponseMessages शीर्षलेख में प्रमाणीकरण कुकी वापस करने की कोशिश कर रहा हूं।
मैं FormsAuthenticationTicket उपयोग कर रहा हूँ के रूप में मुझे लगता है कि इसकी क्या मैं अपने MVC आवेदन पर की तरह
public HttpResponseMessage Get(LoginModel model)
{
if (model.UserName == "bob")
{
// if (Membership.ValidateUser(model.UserName, model.Password))
// {
var msg = new HttpResponseMessage(HttpStatusCode.OK);
var expires = DateTime.Now.AddMinutes(30);
var auth = new FormsAuthenticationTicket(1, model.UserName, DateTime.Now, expires,
model.RememberMe,"password",
FormsAuthentication.FormsCookiePath);
var cookie = new HttpCookie("user");
cookie.Value = FormsAuthentication.Encrypt(auth);
cookie.Domain = "localhost";
cookie.Expires = expires;
msg.Headers.Add("result",cookie.Value);
return msg;
// }
}
return new HttpResponseMessage(HttpStatusCode.Forbidden);
//else
//{
// return "The user name or password provided is incorrect.";
//}
}
अब अपना लॉगिन नियंत्रक के भीतर
का उपयोग मैं सेवा को कॉल और हैडर मैं में सेट से डेटा मूल्य प्राप्त करने की आवश्यकता एपीआई नियंत्रक।
string data = response.Headers["result"].ToString();
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(data);
हर मैं FormsAuthentication.Decrypt चलाने की कोशिश मैं एक त्रुटि
डेटा सत्यापित करने में असमर्थ होते जा रहे हैं।
मुझे लगता है कि जब एपीआई डेटा को एन्क्रिप्ट करता है तो यह किसी प्रकार की कुंजी का उपयोग करता है जिसे वेबसाइट के बारे में पता नहीं है। क्या मैं सही हू?
क्या कोई मदद कर सकता है?
आप
इस पंक्ति में 'डेटा' का मूल्य क्या है 'स्ट्रिंग डेटा = प्रतिक्रिया। हेडर [" परिणाम "]। ToString();'? – Aliostad