2008-09-22 13 views
5

से प्रदर्शित करना मैं एक स्टैंडअलोन एएसपीनेट पेज बना रहा हूं जिसे पृष्ठ व्यूअर वेब पार्ट का उपयोग करके शेयरपॉइंट साइट में एम्बेड करने की आवश्यकता है। एएसपीनेट पेज एक ही सर्वर पर एक ही पोर्ट पर प्रकाशित होता है, जिससे मुझे एम्बेड करने के लिए यूआरएल दिया जाता है।वर्तमान प्रमाणीकृत शेयरपॉइंट उपयोगकर्ता को एएसपीनेट पेज व्यूअर वेब पार्ट

आवश्यकता यह है कि उपयोगकर्ता को Sharepoint प्रमाणीकरण का उपयोग करके प्रमाणीकृत करने के बाद, वे अधिक विकल्पों के लिए एएसपीनेट वेब भाग वाले पृष्ठ पर नेविगेट करते हैं।

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

यह सब ठीक काम करता है जब मैं वीएस से एप्लिकेशन डीबग करता हूं, लेकिन जब शेयरपॉइंट के दौरान प्रकाशित और प्रदर्शित होता है, तो मुझे हमेशा उपयोगकर्ता के रूप में NULL मिलता है।

काम करने के लिए इसे पाने का सबसे अच्छा तरीका किसी भी सुझाव की सराहना की जाएगी।

उत्तर

7

यदि आप वर्तमान में प्रमाणीकृत उपयोगकर्ता को SharePoint संदर्भ से पुनर्प्राप्त करना चाहते हैं, तो आपको SharePoint संदर्भ में रहना होगा। इसका अर्थ है SharePoint के भीतर अपने कस्टम वेब एप्लिकेशन को होस्ट करना (http://msdn.microsoft.com/en-us/library/cc297200.aspx देखें)। फिर अपने कस्टम एप्लिकेशन संदर्भ से Microsoft.SharePoint और उपयोगकर्ता नाम पुनर्प्राप्त करने के लिए SPContext ऑब्जेक्ट का उपयोग करें। उदाहरण के लिए:

SPContext.Current.Web.CurrentUser.LoginName 

तुम अब भी साइट, अब SharePoint संदर्भ में स्थित का URL संदर्भ के लिए पृष्ठ व्यूअर वेब पार्ट का उपयोग कर सकते हैं।

0

जब यह डीबग में काम करता है, तो क्या इसका उपयोग SharePoint में किया जा रहा है?

आपका पृष्ठ और शेयरपॉइंट साइट भी प्रमाणीकरण के संबंध में विभिन्न सर्वरों पर हो सकती है - ताकि आपको जानकारी प्राप्त करने के लिए वेबपर्ट से क्वेरीरीस्ट्रिंग के माध्यम से इसे पास करने की आवश्यकता हो - या आपको ऐसा करने के लिए अपना स्वयं का वेबपार्ट बनाना पड़ सकता है (केवल यूज़रनेम को पास करने वाले क्वेरीरीस्ट्रिंग के साथ अपने पृष्ठ पर src set के साथ एक आईएफआरएएम डालें)।

ऐसा प्रतीत होता है कि यदि आप किसी भी चीज़ के लिए नाम का उपयोग करते हैं तो यह एक सुरक्षा समस्या होगी - अगर आप इसे प्रदर्शित कर रहे हैं, तो यह शायद ठीक है।

यदि आपको वास्तव में प्रमाणीकृत होने की आवश्यकता है, तो आपको अपने स्टैंडअलोन पेज को होस्ट करने वाली साइट के web.config में प्रमाणीकरण जोड़ने की आवश्यकता हो सकती है।

संपादित करें: मुझे लगता है कि आपके पृष्ठ को उसी पोर्ट और सर्वर पर शेयरपॉइंट के रूप में रखने के लिए बेहतर भाग्य होगा।

+0

नहीं, डीबग मोड में यह स्टैंडअलोन है – BenB

0

मुझे संदेह है कि वर्तमान में प्रमाणीकृत उपयोगकर्ता नाम के लिए विशेष रूप से SharePoint से पूछताछ करने में आपको कठिनाई होगी। मैं अलग-अलग वेब एप्लिकेशन से शेयरपॉइंट संदर्भ को आसानी से एक्सेस करने का तरीका नहीं सोच सकता जैसा कि आप वर्णन कर रहे हैं।

मुझे नहीं पता कि आप किस तरह की प्रमाणीकरण योजना का उपयोग कर रहे हैं, लेकिन आप केर्बेरोस का उपयोग करने पर विचार करना चाहेंगे, क्योंकि मुझे पता चला है कि यह प्रतिनिधिमंडल के लिए अनुमति देकर और प्रमाण पत्र पास करने के द्वारा इन प्रकार के परिदृश्यों को थोड़ा आसान बना सकता है। एप्लिकेशन से एप्लिकेशन या सर्वर से सर्वर तक।

1

उत्तर के लिए धन्यवाद ढेर!

यह बताता है कि जब तक asp.net पृष्ठ समान URL और पोर्ट को Sharepoint साइट के रूप में उपयोग कर रहा है, प्रमाणीकरण दोनों साइटों पर काम करता है।

समाधान शेयरपॉइंट साइट के अंदर वर्चुअल निर्देशिका का उपयोग करना है और वहां asp.net पृष्ठ स्थापित करना है।

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