2015-11-12 5 views
5

मेरे पास एक एएसपी.NET एप्लिकेशन है जो डब्ल्यूसीएफ सेवा को बुलाता है। एएसपी.नेट आवेदन में, मैं प्रमाणीकरण करने के लिए एडीएफएस को कॉल करता हूं और मैं CurrentPrincipal में उपयोगकर्ता के सभी दावों को देख सकता हूं। फिर मैं डब्ल्यूसीएफ सेवा (wsHttp बाइंडिंग) का आह्वान करता हूं, लेकिन दावों की सूची खाली है।डब्ल्यूसीएफ/डब्ल्यूआईएफ - क्या मुझे बैकएंड में दावे मिलना चाहिए?

कारण क्या हो सकता है?

+2

WS2007FederationHttp बाइंडिंग? – nzpcmad

उत्तर

3

यदि मैं गलती नहीं करता हूं तो डब्ल्यूसीएफ में दावा प्राप्त करने के विभिन्न तरीके हैं।

थ्रेड। वर्तमान प्रिंसिपल - सरल और उपयोग करने में आसान लेकिन आपकी कॉन्फ़िगरेशन में कुछ सेटिंग की आवश्यकता है, जो सबसे अधिक उपेक्षित है।

<behaviors> 
    <serviceBehaviors> 
    <behavior name="Test.Services.WifBehavior"> 
     <serviceCredentials useIdentityConfiguration="true" /> 
     <!---Set principalPermissionMode to always to pass the ClaimsIdentity info to the Thread.CurrentPrincipal--> 
     <serviceAuthorization principalPermissionMode="Always"/> 
    </behavior> 
    <serviceBehaviors> 
</behaviors> 

OperationContext.Current.ClaimsPrincipal - अगर यह कुछ विन्यास की जरूरत है, लेकिन मुझे लगता है कि आप लागू विधि से सीधे प्राप्त कर सकते हैं मुझे याद नहीं कर सकते हैं।

OperationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets - Create a Custom Authorization Manager for a Service और config में जोड़ने की जरूरत है।

ध्यान दें कि मैंने विंडोज पहचान फाउंडेशन (डब्ल्यूआईएफ) का उपयोग किया था।

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