PDA

View Full Version : سوال: تشخیص هویت در سرویس های وب



nazaninam
شنبه 29 تیر 1387, 14:33 عصر
سلام دوستان
فرض کنید یک وب سرویس دارد و میخواهید که کاربرا برای استفاده از این وب سرویس ملزم به وارد کردن نام کاربری و رمز عبور باشند .
برای این کار نمی خواهم از سیستم Authentication دات نت استفاده کنم چون میخواهم صفحات asmx قابل دسترسی باشند .
بهترین روش چیه؟
ممنون

milade
یک شنبه 30 تیر 1387, 07:19 صبح
سلام
نمی دونم جوابم همونی که می خوای هست یا نه ولی ...
مثلا وب سرویس 3 تا فیلد داره یه یوزر و پسورد و مثلا نام
خوب وقتی همه رو وارد کرد شما اول چک می کنید کاربر هست یا نه اگر بود که نام رو نشونش می دید در غیر این صورت خطا ورود انجام نشد
بای

nazaninam
یک شنبه 30 تیر 1387, 14:29 عصر
آقا دمت گرم دیگه !! یعنی ما انقدر ....؟
من نزدیک 30 تا وب سرویس دارم و در هر کدوم نزدیک 10 تا متد وجود داره !
اگر بخواهم برای تمام اینها اینکارو انجام بدم که اولا فاتحه سرور خونده میشه چون هردفعه باید بره چک کنه !
دوما که 300 تا متد رو باید کلا تغییر بدم !
اگر میشه یک نفر که این کار رو به صورت حرفه ای انجام داده جواب بده ....

Behrouz_Rad
یک شنبه 30 تیر 1387, 22:44 عصر
شرایط و سناریوت کمی پاسخ رو سخت می کنه. اگر دات نت امکان به ارث بردن از چند کلاس رو فراهم می کرد میشد بهتر عمل کرد اما متاسفانه چون وب سرویس ها از WebService ارث میبرن مجبور به اعمال تغییرات بیشتری هستی.
اگر کلاسی ایجاد و کلیه ی اعمال تصدیق هویت رو به اون منتقل کنی و فراخوانی متدهای تصدیق هویتش رو در سازنده ی وب سرویس انجام بدی کمترین تغییرات انجام شده.
سازنده ی وب سرویس باید نام کاربری و کلمه ی عبور رو بپذیره. متدی فرضاً با نام IsAuthenticated می تونه فلگ تصدیق هویت رو برای جلوگیری از تصدیق هویت مجدد، در Session ذخیره کنه.

موفق باشید.

nazaninam
دوشنبه 31 تیر 1387, 22:09 عصر
سلام استاد ممنون از جوابتون
چیزی که هست اینه که در تمامی فایل های سازنده وب سرویس باید یک WebMethod اضافه کنم !؟
روشی که به ذهنم رسیده اینه که کلاسی که شامل متد های تشخیص هویت هست از System.Web.Services.WebService ارث بری کنه و کلاس سازنده از کلاسی که من ساختم برای تشخیص هویت ارث بگیره اینجوری متد های تشخیص هویت رو داره و خواص و متد های وب سرویس هم هست ...
البته نتونستم پیادش کنم