DefaultNetWorkCredentials لديه قيم فارغة. بحاجة إلى مطالبة المستخدم ... كيف؟

StackOverflow https://stackoverflow.com/questions/998167

سؤال

في ظل ظروف معينة، فإن تطبيق Desktop الخاص بي باستخدام خدمات SharePoint Web ينتهي باستخدام DefaultNetWorkCredentials التي تحتوي على قيم خالية، وبالتالي فشل المكالمة. أحتاج بعد ذلك الحصول على بيانات اعتماد المستخدمين، لكنني لم أجد طريقة مباشرة للقيام بذلك.

أنا أفكر في تنفيذ الحل المبين في http://www.pinvoke.net/default.aspx/credui/creduipromptforcredentalsw.html.

ومع ذلك، فإن هذا لا يزال سيتطلب من أن أتعامل مع كلمة المرور، والتي كنت أعمل حقا. لقد بحثت، لكن لم تتمكن من العثور على طريقة أكثر مباشرة تطالب للمستخدم بإرجاع ورجوعها مباشرة، دون الحاجة إلى تخزين كلمة المرور؟

شكرًا،

تحرير: يبدو أنني لن أجد بالضبط ما أبحث عنه ... سيتعين علي مطالبة المستخدم بنفسي عندما يحدث هذا.

ومع ذلك، إذا قمت بتفسير بعض هذه الإجابات بشكل صحيح، فقد يكون ذلك شرطا للخطأ بالنسبة إلى DefaultNetWorkCredentials ليكون فارغا تماما مثل هذا في المقام الأول. هل هذا هو الحال؟ هل هناك طريقة لإجبار DefaultNetworkCredentials على ملء، أو هل هي حقا ذاكرة التخزين المؤقت البسيطة التي تذكر فقط المجال / userid / كلمة المرور المستخدمة للمستهدف URI الهدف (في ذلك اليوم؟ هذا التطبيق / الجلسة؟).

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

المحلول

لا أعتقد أنه يمكنك تجنب التعامل معها لأول مرة. ولكن عليك ربط في مدير بيانات الاعتماد بحيث يتم تخزينها مؤقتا من هذه النقطة إلى الأمام. إليك مقال حول كيفية القيام بذلك. وبعد إنها ثقيلة في P / invoke، ولكن هل يمكن أن تعطي المستخدمين تجربة أكثر اتساقا.

نصائح أخرى

العمل على القضية الأساسية، وبيانات اعتماد NULL بدلا من مزعجة مستخدم للحصول على معلومات تم إدخالها بالفعل.

ما لم تكن تريد منهم أن يكونوا قادرين على تسجيل الدخول إلى SharePoint بشكل مختلف عن حساب Thier الحالي (ميزة مفيدة ربما).

.NET لديه رمز للتعامل مع بيانات الاعتماد، فلماذا تخمين ثاني أنه بالخروج إلى DLL خارجي وإضافة اعتماد آخر على تطبيقك؟

لا أعرف ما يكفي حول مخاطر أمن التعليمات البرمجية لديك في بيئتك، لكنني كنت أعتقد أن تخزين كائن بيانات الاعتماد في ذاكرة العميل فقط سيكون "آمن بما فيه الكفاية" لمعظم المواقف.

لا أعرف شيئا يعالج كلمة المرور لك، ولكن securestring. قد يكون من الاستخدام.

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