باستخدام هوية طلب HTTP الحالي كأوراق اعتماد افتراضية لـ SharpSVN
سؤال
أحاول استدعاء RemoTecreAtedIrectories في SharpSVN من خلال تطبيق ويب وأريد أن تكون بيانات الاعتماد من المستخدمين المسجلين على المستخدم. هل يمكن القيام بذلك ضمنيًا أم أن اسم المستخدم وكلمة المرور مطلوبة وفقًا للمثال أدناه؟
using (var svnClient = new SvnClient())
{
svnClient.Authentication.DefaultCredentials = new NetworkCredential(@"aaa\bbb", "ccc");
svnClient.LoadConfiguration(repoName);
svnClient.RemoteCreateDirectories(uris, args);
}
لا أرغب في استكشاف بيانات الاعتماد من المستخدم (إنه تطبيق مصادقة متكامل) ، وبالتالي فإن الطريقة الأخرى الأخرى التي أراها حول هذا هي استخدام حساب الخدمة غير المثالي.
المحلول 3
وجدت أخيرا أ المرجعي الذي يقول بشكل أساسي أن هذا غير ممكن باستخدام هوية المستخدم الحالي والخيارات الوحيدة هي البناء اليدوي لشجرة الدليل أو باستخدام حساب المسؤول / الخدمة. أنا اختار هذا الأخير؛ ليست مثالية لكني أركض مع ذلك.
نصائح أخرى
CredentialCache.DefaultCredentials
يحتوي على رمز لبيانات الاعتماد الحالية. لا يوفر اسم المستخدم و/أو كلمة المرور الفعلية.
ستحتاج إلى اسم المستخدم وكلمة المرور الدقيقة لتمريرها إلى مكتبات التخريب عبر SharpSVN.
هل حاولت استخدام CredentialCache.DefaultCredentials
- يجب أن يحتوي هذا على بيانات اعتماد المستخدم الذي تم تسجيله حاليًا في المستخدم.