سؤال

أنا الراغبين في تنفيذ عدد من المهام في SourceGear قبو (V4.1.4) مع نانت (V0.86.3317.0).

هل هناك أي طريقة يمكننا الحصول على قبو استخدام مصادقة Windows من نانت إلى إنشاء اتصال ؟

في نانت كتلة أنا أستخدم إلى التهيئة قبو الاتصال هو :

<target name="InitialiseVaultSettings">
<echo>InitialiseVaultSettings</echo>
<vaultsetloginoptions user="${vault.Username}" password="${vault.Password}" URL="${vault.Host}" repository="${vault.Repository}" />
<vaultsetworkingfolder repositoryFolderPath="${vault.Folder}" diskPath="${vault.WorkingDirectory}" createDiskPath="true" />

وأنا أعمل على هذا المشروع مع مطورين آخرين ، من الصعب ترميز أسماء المستخدمين وكلمات المرور في نانت بناء الملف ليست فكرة جيدة.سواء username و password هي الخيارات المطلوبة في vaultsetloginoptions الأوامر.

بدائل أخرى (مع كل المصيد) وتشمل :

(أ) Hardcode 'Admin' حساب في نانت خصائص سجل قبو في استخدام ذلك.هذه ليست كبيرة جدا ، ثم تفقد عملية مراجعة من هو المسؤول عن تسجيل الوصول / المغادرة عمليات نانت السيناريو ينفذ.كما أنه يسبب مشاكل عند حل الملفات فحص (جزء من السيناريو يضمن جميع الملفات يتم فحصها مرة أخرى إلى "عنصر تحكم مصدر" قبل إنشاء التسمية في قبو).

(ب) استخدام C# النصي من نانت رمز لتعيين خصائص اسم المستخدم وكلمة المرور بشكل حيوي ...باستثناء اننا ثم حصلت مشكلة في الحصول على كلمة المرور من المستخدم لا يزال

(ج) قراءة تخزين المعلومات الشخصية من قبو العميل الاتصال باستخدام هذا (إلا أنني لست متأكدا من أين يتم تخزينها).

شكرا لاهتمامك.

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

المحلول 2

ولقد نفذت بنجاح النموذج الأولي للعمل حول هذه المشكلة.

المصدر كاملة وثنائيات عن الحل البديل هو موضح أدناه يمكن العثور عليها هنا:

المدفن الدخول الامتدادات

ولقد خلق بعض مخصصة المهام نانت وظائف.

والشيكات <VaultLogin> سجل ويندوز لاسم المستخدم وكلمة المرور المعلومات المخزنة مسبقا. إذا لم يتم العثور فإنه يطالب المستخدم مع نافذة تسجيل الدخول. لأنه يخزن الإدخالات في وظيفتين ومسح التسجيل (في حالة فشل تسجيل الدخول - راجع <SaveVaultLogin> أدناه):

${VaultLoginFunctions::UserName()}
${VaultLoginFunctions::Password()}

والمهمة <vaultsetloginoptions> هي ثم قادرا على استخدام وظائف هي:

<vaultsetloginoptions user="${VaultLoginFunctions::UserName()}" password="${VaultLoginFunctions::Password()}" URL="${vault.Host}" repository="${vault.Repository}" />

وبعد استدعاء مهمة <vaultsetloginoptions>، فإننا ثم استدعاء مهمة <SaveVaultLogin> الذي يكتب القيم اسم المستخدم وكلمة المرور إلى التسجيل. هذا يضمن أن يتم تخزين تفاصيل المصادقة الناجحة فقط (كما فشل النصي في مهمة إذا كان اسم المستخدم وكلمة المرور غير صحيحة.

وهذا هو كتلة التعليمات البرمجية وضعت معا:

  <target name="InitialiseVaultSettings">
<echo>InitialiseVaultSettings</echo>

<loadtasks assembly="CompassHealth.NAntExtensions.Tasks.dll" />

<VaultLoginGet />
<echo message="UserName = ${VaultLoginFunctions::UserName()}" />

<vaultsetloginoptions user="${VaultLoginFunctions::UserName()}" password="${VaultLoginFunctions::Password()}" URL="${vault.Host}" repository="${vault.Repository}" />

<vaultsetworkingfolder repositoryFolderPath="${vault.Folder}" diskPath="${vault.WorkingDirectory}" createDiskPath="true" />


<!-- need to save the login here, as it is cleared once VaultLoginGet is called, this ensures that only correct username and password are stored -->
<VaultLoginSave />    

تحديث: تصل إلى ثنائيات ومصدر للعمل في جميع أنحاء الآن في أعلى منصب

نصائح أخرى

أنا غير مألوف مع قبو لذا يرجى أن يغفر المحتملة غموض هذه الإجابة.لقد عملت مع نانت الكثير و أي شيء أن يحصل على تنفيذها (المهام ، المدراء ، الخ) لديها الإمكانيات الكامنة في المتكاملة مصادقة الوضع.

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

إذا كان هناك يحدث أن تكون هناك الحلول عن احتمال نقص في الخزينة نانت المهام قد يكون من الممكن استخدام <exec> مهمة الدعوة إلى إصدار سطر أوامر من جانب العميل أداة (ليس متأكدا حتى إذا كان لديهم واحد).إذا كان هذا هو الخيار ، المصادقة المتكاملة تلقائيا ركلة طالما المستخدم تشغيل نانت العملية هي نفس واحد الحاجة للاتصال قبو.

كان علينا أن نفعل هذا من أجل عدد قليل من الأشياء التي تتكامل مع في بناء العملية.نحن إما exec أن الخروج إلى إصدار سطر الأوامر أو قد كتبت الخاصة بنا المهمة(s) من خلال توسيع نانت الإطار.وفي كلتا الحالتين ، يجب أن يكون هذا ممكنا.

التحديث

قمت ببعض البحث على قبو المنتديات و يبدو أن الإعلان التكامل هو مجرد وسيلة إلى قبو العميل مطالبة المستخدم وتمرير إلى الخادم. من المنتدى:

قبو العميل دائما موجه عن اسم المستخدم/كلمة المرور.الإعلان لدينا التكامل المحدود إلى الملقم التحقق من أن كلمة المرور التي تم إدخالها تطابق كلمة المرور في النشطة الدليل.

ولذلك لا يوجد صحيح طريقة للعميل أن يمر على طول مصادقة windows المعلومات في المدمج في الطريق.قبو برنامج عميل يتطلب إدخال اسم المستخدم وكلمة المرور عند تشغيل في وضع الإعلان.للأسف, يبدو دون تخزين اسم المستخدم/كلمة المرور, فرص سلس نانت التكامل هو بعيد من النار.

وبعد النظر في اقتراح سكوت سعد، للأسف يبدو أن هناك أي خيار في أداة سطر الأوامر إما أن نسميها باستخدام مصادقة Windows.

وتفكيري الحالي يتماشى مع (ب) أعلاه.

وأنا إنشاء مكتبة التي يمكن استدعاؤها من البرنامج النصي نانت، يسأل عن اسم المستخدم المدفن للمستخدم ويندوز الحالي وكلمة المرور.

والمكتبة سوف ننظر في إدخال resigstry لاسم المستخدم المدفن دخلت سابقا والدخول لهذا المستخدم النوافذ. إذا كان موجودا، فإنه سيتم تمريرها إلى البرنامج النصي دون أي تدخل من المستخدم.

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

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

وليس حلا مثاليا، ولكن يجب أن يكون نسبيا على التوالي إلى الأمام ويكفي عمل مقبول حولها.

ما رأيك؟

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