سؤال

أنا في عملية الكتابة صغير التطبيق على شبكة الإنترنت التي تسمح لي إدارة عدة IIS المنشآت على ملقمات مختلفة على الشبكة.ليس لدينا أي تحكم المجال.

كنت قد كتبت صغيرة الانتحال تحكم يستخدم win32 api و LogonUser الأسلوب.ثم استخدام النظام.DirectoryServices و موفر ADSI IIS إنشاء موقع جديد.

لدي التالية الروتينية (تبادل بعض القيم مع النص الواضح سلاسل من أجل قراءة أفضل):

            if (impersonationSvc.ImpersonateValidUser("Administrator@SRV6", String.Empty, "PASSWORD))
            {


            string metabasePath = "IIS://" + server.ComputerName + "/W3SVC";
            DirectoryEntry w3svc = new DirectoryEntry(metabasePath, "Administrator", "PASSWORD");

            string serverBindings = ":80:" + site.HostName;
            string homeDirectory = server.WWWRootNetworkPath + "\\" + site.FolderName;


            object[] newsite = new object[] { site.Name, new object[] { serverBindings }, homeDirectory };

            object websiteId = (object)w3svc.Invoke("CreateNewSite", newsite);
            int id = (int)websiteId;

            impersonationSvc.UndoImpersonation();
        }

هذا الروتين يعمل عند استخدام ملقم التطبيق ويب تتم استضافته على (SRV6).موقع جديد يتم إنشاؤه.

إذا كنت تستخدم SRV5 أخرى على سبيل المثال الخادم على الشبكة (مع أي المجال) ، ImpersonateValidUser يعمل ، DirectoryEntry يتم إنشاؤه ، ولكن w3svc.الاحتجاج فشل مع رسالة الخطأ التالية:

[COMException (0x80070005):تم رفض الوصول]

System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +377678
System.DirectoryServices.DirectoryEntry.Bind() +36
System.DirectoryServices.DirectoryEntry.get_NativeObject() +31
System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) +53

...

أي شخص يعرف كيف يمكن حل هذا ؟

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

المحلول

لا يمكنك استخدام التمثيل في هذه الحالة.الحساب الذي يتم انتحال يحتاج تسجيل الدخول الامتيازات على الجهاز المحلي.

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

نصائح أخرى

وأود أن ننظر في سجل الأحداث من SRV5 للتحقق من الامتيازات التي تستخدم عند الاتصال إلى الملقم.قد تحتاج إلى تغيير إعدادات "نهج المجموعة" إلى سجل الفشل في سجل الأمان.

يبدو أسهل في الإعداد webservices على الملقمات الخاصة بك ، ويفضل أن تكون محمية من قبل تسجيل الدخول و/أو الملكية الفكرية قيود ، أن يفعل هذا النوع من العمليات.

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