View Full Version : سوال: تغییر سرور WCF بر روی دامین
mohsen12345
سه شنبه 11 شهریور 1393, 14:17 عصر
با سلام
من یه سرویس WCF توی لوکال نوشتم و وقتی روی دامین آوردم زمانی که می خواد Open() رو اجرا کنه خطای اعتبار سنجی میده.
هر دو تا رو براتون آپلود کردم ( آپلودش رو چون به خاطر حجم خود سایت برنامه نویس جواب نداد جای دیگه آپلود کردم
(سه تا پروژه بود و سومی چون حجمش رفت بالا نشد آپلود کنم، فقط می خوام این دوتا (سرویس و برنامه سرویس گیرنده) بتونن از طریق دامین روی دو تا کامپیوتر مختلف به هم وصل بشن
فایل کلاینت (http://cld.persiangig.com/download/OHRMiGAZGH/SampleHospital.zip/dl)
فایل سرور (http://cld.persiangig.com/download/w44lbyTc7l/WCF%20Project.zip/dl)
m.fazlali
پنج شنبه 13 شهریور 1393, 14:15 عصر
قسمت userPrincipalName value="mohsen@adrco.local" را تغیر بده به بطور مثال THININTERNETSHO\m.fazlali که بخش اول نام دامین و بخش دوم یک کاربر در دامین را معرفی کن که در اکتیو دایرکتوری دامین حضور دارد ویا اگر خوب یادم باشد میتوانی تگ identity را بکل پاک کنی
mohsen12345
جمعه 14 شهریور 1393, 23:36 عصر
مرسی از اینکه جواب دادی دوست عزیز من یوزر هام روی دامین پسورد داره ، اینو که میگی امتحان کردم حالا دوباره با روش شما تست میزنم ،
m.fazlali
شنبه 15 شهریور 1393, 15:13 عصر
من توانستم پروژه را اجرا کنم به این قسمت و تفاوت آن در سمت client دقت کن
<client>
<endpoint address="http://localhost:9000/Service1.svc" binding="wsDualHttpBinding"
bindingConfiguration="duplexendpoint1" contract="ServiceReference1.IService1"
name="duplexendpoint">
<identity>
<userPrincipalName value="THININTERNETSHO\m.fazlali" />
</identity>
</endpoint>
</client>
سرویس پسوند .svc نداشت و تغیر در userPrincipalName
البته مهمترین مشکل نبود پسوند svc در address بود
میتوانی تگ identity را پاک کنی
mohsen12345
شنبه 15 شهریور 1393, 15:43 عصر
مرسی از اینکه وقت گذاشتی کد رو دیدی دوست عزیز
مشکل از جای دیگه ای بود ، گفتم بگم اگه کس دیگه ای هم به این مشکل خورد بتونه حلش کنه
اگه توی اجرا وقت Open کردن به این خطا بر خوردید
The caller was not authenticated by the service.
حتما اول برید توی ویندوز سرورتون و چک کنید ببینید که Windows Authentication نصب هست یا نه
برای نصبش باید توی Service maneger قسمت feuture گزینه add feuture رو بزنید و بعد Dot net freamwork xxx رو زیر مجموعه هاش رو با + باز کنید و بعد برید سراغ WCF Service و Securty هاش رو نصب کنید
همین
در ضمن اگه یوزر توی دامین سرویستون پسورد داره باید این خط رو بردارین
<!--<identity>
<userPrincipalName value="Devep.comm\mohsen" />
</identity>-->
و به جاش توی قسمت باز کردن proxy قبل از proxy.open() خط های زیر رو اضافه کنین
proxy.ClientCredentials.Windows.ClientCredential.P assword = "password";
proxy.ClientCredentials.Windows.ClientCredential.U serName = "UserName";
proxy.ClientCredentials.Windows.ClientCredential.D omain = "DomainName";
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.