2012-01-11 12 views
5

क्या कोई मुझे सही दिशा में इंगित करने में मदद कर सकता है कि मैं इस त्रुटि को कैसे ठीक कर सकता हूं?सिस्टम.Security.SecurityException: मूल अनुमति के लिए अनुरोध विफल रहा

System.Web.Services.Protocols.SoapException: Server was unable to process request. 
    ---> System.Security.SecurityException: Request for principal permission failed. 
at System.Security.Permissions.PrincipalPermission.ThrowSecurityException() 
at System.Security.Permissions.PrincipalPermission.Demand() 
at System.Security.PermissionSet.DemandNonCAS() 
at LiveDocx.MailMerge.SetLocalTemplate(String template, String format) 

मैं इस सॉफ्टवेयर है कि मेरी कंपनी LiveDocx से खरीदा स्थापित किया है। इसलिए, मेरे पास कोड को संशोधित करने या कोड को पढ़ने की क्षमता नहीं है। मैंने सब कुछ उनके दस्तावेज के अनुसार स्थापित किया है और साइट को काम करने की पुष्टि की गई है। मैं केवल आईआईएस, फ़ोल्डर अनुमतियों, और Web.config में सेटिंग्स बदल सकता हूं। हमारा सर्वर, उनके सॉफ्टवेयर।

अब, मुझे webservice में लॉग इन रहने के साथ समस्या हो रही है। इससे पहले कि आपको लगता है कि यह साबुन ग्राहक है, मैंने पुष्टि की है कि यह विक्रेता के सर्वर को कॉल करके काम करता है।

स्थानीय रूप से, मैं लॉगिन के दौरान वेब सेवा सफलतापूर्वक कॉल कर सकता हूं और यह ठीक काम करता है। हालांकि, जब मैं बाद में कॉल करता हूं, तो मुझे Request for principal permission failed मिलता है।

उनके तकनीकी समर्थन के अनुरोध पर, मैंने <trust level="Full" /> को web.config में जोड़ा है, लेकिन यह काम नहीं करता है। अब, उन्होंने हमारे ईमेल का जवाब देना बंद कर दिया है।

मैं एएसपी.NET डेवलपर नहीं हूं, इसलिए मेरा ज्ञान सर्वर सेटिंग्स पर सीमित है। क्या कोई मुझे सही दिशा में इंगित कर सकता है कि यह त्रुटि क्यों होती है और कुछ समस्याएं इस समस्या को हल करने के लिए दिखती हैं?

उत्तर

2

मुझे अंततः एक समाधान मिला। अनुमतियों के बारे में यह त्रुटि थोड़ा भ्रामक है। कई परीक्षण और त्रुटियों के बाद, मैंने अंततः आवेदन पूल उपयोगकर्ता की अनुमतियों को स्वीकार कर लिया था, इस समस्या से कोई लेना देना नहीं था। जो मुझे web.config सेटिंग्स की जांच करने के लिए प्रेरित करता है और यही वह जगह है जहां मुझे समस्या मिली।

समस्या यह थी कि आपूर्ति की गई web.config फ़ाइल <authentication> टैग और आवश्यक सेटिंग्स अनुपलब्ध थी। यह टैग (मेरी समझ से) कुकीज़ को सक्षम बनाता है। मुझे उम्मीद है कि यह LiveDocx से संबंधित नहीं होने पर भी इस त्रुटि के साथ दूसरों की सहायता करता है। लगता है कि Request for principal permission failed. विभिन्न कारणों से हो सकता है जो इसे निराशाजनक त्रुटि बनाता है।

यह लेख बहुत उपयोगी How To: Use Membership in ASP.NET 2.0

2

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

सबसे आसान तरीका है यह परीक्षण करने के लिए अपने आईआईएस एप्लिकेशन के लिए एक नया एप्लिकेशन पूल बनाना है (जब तक कि आपके वर्तमान ऐप पूल में कोई अन्य ऐप न हो), ऐप पूल के लिए एक अलग पहचान चुनें (आप नेटवर्क सेवा से शुरू कर सकते हैं, लेकिन इसे स्थानीय उपयोगकर्ता की आवश्यकता हो सकती है) फिर उस पूल पर अपना ऐप असाइन करें।

यह आपको बताएगा कि क्या यह ऐप पूल पहचान के साथ अनुमति समस्या है।

+0

हाँ, यह ऐप पूल नहीं है, मैंने हर संभव उपयोगकर्ता को आजमाया है और प्रत्येक उपयोगकर्ता को पूर्ण अधिकार दिए हैं। –

2

मैं क्योंकि मैं गलत कुकी नाम का उपयोग करने के लिए कॉन्फ़िगर एक वेबसाइट के तहत एक आवेदन किया था इस में भाग गया था।

मेरी जड़ वेब साइट पर web.config इस

<authentication mode="Forms"> 
    <forms name="AuthCookie" path="/"></forms> 
</authentication> 

की तरह देखा और इसके तहत आवेदन एक वेब था।कि नीचे config इस

<authentication mode="Forms"> 
    <forms name="WRONGCOOKIENAME" path="/"></forms> 
</authentication> 

आवेदन की तरह देखा एक निर्माता है कि इस

[PrincipalPermissionAttribute(SecurityAction.Demand, Role = "Foo", Authenticated = true)] 

की तरह दिखाई देता साथ वेब फार्म था तो यह प्रमाणीकरण आवश्यक है, लेकिन यह यह नहीं था क्योंकि कुकी नाम गलत था। कुकी नाम को ठीक करने से त्रुटि हल हो गई।

2

मुझे एक समान समस्या थी और मैं फॉर्म फॉर्म का उपयोग कर रहा था और इस मुद्दे को जारी रख रहा था। मैं प्रिंसिपल अनुमति और सुरक्षा कार्य मांग का भी उपयोग कर रहा था।

मैंने सभी web.config से संबंधित सेटिंग्स की कोशिश की और अंतिम मुद्दा एप्लिकेशन पूल के साथ था।

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

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