2015-05-05 6 views
5

मैं सत्र का उपयोग नहीं करता, इसलिए मैंने इसे उन सभी HTTP मॉड्यूल के साथ हटा दिया जिनकी मुझे आवश्यकता नहीं है।क्या एंटीफोर्गेरी टोकन सत्र सत्र की आवश्यकता है?

मैं कभी कभी यह त्रुटि प्राप्त: System.Web.Mvc.HttpAntiForgeryException: The anti-forgery token could not be decrypted. If this application is hosted by a Web Farm or cluster, ensure that all machines are running the same version of ASP.NET Web Pages and that the <machineKey> configuration specifies explicit encryption and validation keys. AutoGenerate cannot be used in a cluster.

या यह एक: System.Web.Mvc.HttpAntiForgeryException: The provided anti-forgery token was meant for a different claims-based user than the current user.

जब मैं सत्र सक्षम है, यह काम करता है।

तो सवाल यह है: क्या सीएसआरएफ सामान सत्र स्थिति पर निर्भर करता है?

+0

क्या आप वाकई अपने साझा-होस्टिंग विक्रेता को केवल एक वेब सर्वर पर अपना एप्लिकेशन होस्ट करते हैं? – lowleveldesign

+0

@lowleveldesign मैं निश्चित नहीं हूँ। लेकिन काफी आश्वस्त है, क्योंकि मेजबाननाम हमेशा मेरे लॉग में समान होता है, जैसा कि आईपी है। –

+0

और डोमेन के बारे में क्या सीएसआरएफ कुकीज़ सेट हैं? क्या आप अपने अद्वितीय सबडोमेन का उपयोग कर रहे हैं? यदि नहीं, तो आपके एप्लिकेशन को उसी रूट डोमेन पर चल रहे अन्य .NET एप्लिकेशन से कुकीज़ प्राप्त हो सकती हैं। – lowleveldesign

उत्तर

6

एंटी-जालसाजी टोकन काम करने के लिए एएसपी.NET सत्र की आवश्यकता नहीं है। टोकन एक छिपे हुए फॉर्म फ़ील्ड में और एक कुकी में संग्रहीत किया जाता है, एक कुकी सत्र से अलग (आपको विवरण here मिल सकता है)। इसके अतिरिक्त, जब विरोधी जालसाजी टोकन अमान्य है, तो एक अपवाद फेंक दिया जाता है, इसलिए यह उस समस्या की तरह नहीं दिखता है जो आपके विरोधी एंटी-जालसाजी टोकन से जुड़ा हुआ है। शायद एक फिडलर सत्र रिकॉर्ड करें, इसे एक नए SO प्रश्न से संलग्न करें और हमें आपको बेहतर मार्गदर्शन करने में सक्षम होना चाहिए।

+0

जब आप "डबल-लॉगिन" अनुभव करते हैं या यह एक अलग समस्या है तो अपवाद हमेशा फेंक दिया जाता है? – lowleveldesign

+0

मैं इस उत्तर को स्वीकार कर रहा हूं, क्योंकि यह मूल प्रश्न का उत्तर सीधे देता है। लेकिन समस्या बनी हुई है, इसलिए जब आप अनुशंसा करते हैं तो मैं एक अलग प्रश्न खोलूंगा। –

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