سؤال

حسنا، إليك وضعي: لدي تطبيق ASP.NET Web Forms مثبت ويتم تشغيله على موقع IIS SP 2013 الخاص بي. SP هو الإعداد لاستخدام Windows Auth. أعلم أن هذا غير عادي للغاية وغير موصى به، ولكن الآن يجب أن أذهب بهذه الطريقة. أي ليس لدي وقت لتحويل هذا وعدد من تطبيقات ASP.NET إلى تطبيقات SP. ما أحاول القيام به هو الحصول على المستخدم الذي قام بتسجيل الدخول إلى SP واستخدام هذه المعلومات للمصادقة إلى تطبيق ASP.NET الخاص بي - وعدم مطالبة المصادقة على ASP.NET. أعتقد بطبيعتها من خلال تطبيق .NET يعمل في نفس IIS ك SP 2013 لن يطالب بعصيدات المصادقة في الوقت المناسب.، ولكن كيفية الحصول على معلومات المستخدم من الرمز المميز؟

لدي رمز مثل giveacodicetagpre.

في بلدي ASP.NET (vb.net) وما يعوده هو: 0 #. wh | smg \ myuser

وهكذا أفهمها يستخدم SP المصادقة القائمة على المطالبات وهذا هو رمز ادعاء. سؤالي هو كيفية تحليل / قبول هذا الرمز المميز للحصول على اسم المستخدم ثم استخدامه في بلدي ASP.NET؟

أثبت شخص آخر من شبكة الإنترنت ما يلي كحل ولكن أعتقد أن تطبيقي لا يمكنه استخدام Microsoft.Sharepoint.administration.Claims Namespace. هل هو بسيط مثل ذلك؟ giveacodicetagpre.

كما أفهمها، فإن spclaimprovidermanager موجود في Microsoft.Sharepoint.administration.claims Namespace ولكن كيف يمكنني الإشارة إلى بلدي ASP.NET. لا أستطيع حتى أن أجد DLL على خادم SP 2013.

هل كانت مفيدة؟

المحلول 2

I was able to get this to work using the approach above outlined in my question - i was able to copy Microsoft.Sharepoint assembly from server and reference it in my ASP.NET project. The Microsoft.SharePoint.Administration.Claims namespace is found in the Microsoft.Sharepoint assembly

نصائح أخرى

The key is to have both SharePoint and your app use the same authentication source.

So, either your app must change to Windows Auth (aka Integrated NTLM), or SharePoint must use forms (or claims that is based on the same user store).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top