PDA

View Full Version : سوال: استفاده نکردن از CreateUserWizard



bftarane
یک شنبه 29 آبان 1390, 19:41 عصر
آیا این ایده که از کنترل CreateUserWizard استفاده نکنیم ولی در عین حال از جدول aspnet_Users و دیگر جداول asp.net مثل aspnet_Membership استفاده کنیم امکان پذیره؟ بیشتر منظورم اینه که آیا منطقی هست؟
آخه مثلاً بخواهیم یه فیلد به جدول users مثلاً برای عکس کاربر اضافه کنیم اون موقع فکر می کنم باید برای درج بقیه فیلدهایی که در جدول users هست هم خودمون کد درج رو بنویسیم و حواسمون به خیلی چیزا باشه مثلاً فکر می کنم برای این کار باید حواسمون به رابطه ای که این جدول با جداول دیگه ممبرشیپ داره باشه؟ مثلاً به عنوان نمونه ApplicationId در جداولمون یکسان باشن و...؟ درسته؟ و فکر می کنم کافیه یه چیزی از نظر آدم دور بمونه و کار خراب بشه. آیا درسته این یا من خیلی پیچیدش کردم برای خودم؟
یه جور دیگه سوالم رو بپرسم: آیا اگه نخواهیم از کنترل CreateUserWizard استفاده کنیم حتماً باید جدول مثلاً users رو خودمون طراحی کنیم؟

حالا اگه از جداول خود Asp.net استفاده نکنیم دیگه نمی تونیم از membershipprovider استفاده کنیم؟ درسته؟

حالا به فرض که تصمیم بر این شد که آدم بانکش رو خودش درست کنه. ممکنه لینکی رو بهم معرفی کنید که در آن به خوبی برای ایجاد امنیت و استفاده از providerها در این حالت توضیح داده باشه؟

ممنونم

raziee
یک شنبه 29 آبان 1390, 20:50 عصر
آیا این ایده که از کنترل CreateUserWizard استفاده نکنیم ولی در عین حال از جدول aspnet_Users و دیگر جداول asp.net مثل aspnet_Membership استفاده کنیمامکان پذیره؟ بیشتر منظورم اینه که آیا منطقی هست؟
بله امکانپذیر هست.
این که منطقی هست یا نه بستگی به کاری که میخواهید انجام بدید داره. مثلا اگه قرار دقیقا همون کار رو انجام بدید خوب غیر منطقیه!

آخه مثلاً بخواهیم یه فیلد به جدول users مثلاً برای عکس کاربر اضافه کنیم اون موقع فکر می کنم باید برای درج بقیه فیلدهایی که در جدول users هست هم خودمون کد درج رو بنویسیم و حواسمون به خیلی چیزا باشه مثلاً فکر می کنم برای این کار باید حواسمون به رابطه ای که این جدول با جداول دیگه ممبرشیپ داره باشه؟ مثلاً به عنوان نمونه ApplicationId در جداولمون یکسان باشن و...؟ درسته؟ و فکر می کنم کافیه یه چیزی از نظر آدم دور بمونه و کار خراب بشه. آیا درسته این یا من خیلی پیچیدش کردم برای خودم؟
معمولا جداول Membership رو دست کاری نمیکنن و برای ذخیره ی اطلاعات دیگه مثلا Profile جداول دیگه ای رو طراحی میکنن و Relation های مربوطه رو میدن.

یه جور دیگه سوالم رو بپرسم: آیا اگه نخواهیم از کنترل CreateUserWizard استفاده کنیم حتماً باید جدول مثلاً users رو خودمون طراحی کنیم؟

حالا اگه از جداول خود Asp.net استفاده نکنیم دیگه نمی تونیم از membershipprovider استفاده کنیم؟ درسته؟
میتونید از جداول ممبرشیپ استفاده نکنید و یا از همون جداول استفاده کنید ولی اون جوری که خودتون میخواهید. برای این کار Custom Membership Provider مینویسند. در موردش جستجو کنید. مطلب زیاد هست.

حالا به فرض که تصمیم بر این شد که آدم بانکش رو خودش درست کنه. ممکنه لینکی رو بهم معرفی کنید که در آن به خوبی برای ایجاد امنیت و استفاده از providerها در این حالت توضیح داده باشه؟
به طور کلی استفاده از ASP.NET MEMBERSHIP خوب و تکمیل هست اما این موضوع همیشگی نیست.
من خودم به شخصه توی پروژه ها ازش استفاده نمیکنیم.

bftarane
دوشنبه 30 آبان 1390, 11:57 صبح
معمولا جداول Membership رو دست کاری نمیکنن و برای ذخیره ی اطلاعات دیگه مثلا Profile جداول دیگه ای رو طراحی میکنن
خیلی به نظر منطقی می رسه. من خودم این کار رو انجام دادم.

این که منطقی هست یا نه بستگی به کاری که میخواهید انجام بدید داره. مثلا اگه قرار دقیقا همون کار رو انجام بدید خوب غیر منطقیه!
فرض کنید کاری که می خوام انجام بدم اینه که به جای CreateUserWizard چند تا Textbox و کنترلهای دیگه استفاده کنم که موقع ثبت نام کاربر بتونه مثلاً عکس و تاریخ تولد و اطلاعاتی که CreateUserWizard امکانش رو نمی ده، وارد کنه.
حالا بهترین و منطقی ترین راه حل چیه؟
این که یه جدول درست کنیم شامل مثلاً فیلدهای عکس کاربر، تاریخ تولد و... و UserId و یه relation با جدول aspnet_Users ایجاد کنیم و کدهای درج رو برای این دو جدول بنویسیم ایده خوبیه؟
این جوری فکر کنم یه Sp باید بنویسیم که همزمان تو دو تا جدول درج رو انجام بده. درسته؟

در مورد Custom Membership Provider یه مطلبی خوندم که البته از Login و CreateUserWizard استفاده می کرد. یه مطالبی هم پیدا کردم (هنوز نخوندم) فکر کنم بدون این کنترلها رو یاد داده.
خودم فعلاً به این نتیجه رسیدم که برای این که صفحه ثبت نام کاربرم فیلدهای دلخواهم رو داشته باشه بهتره دیتابیس جدید بسازم و از Custom Provider ها استفاده کنم.

raziee
دوشنبه 30 آبان 1390, 21:15 عصر
این تاپیک (http://barnamenevis.org/showthread.php?314109-%D9%86%D8%AD%D9%88%D9%87-%DB%8C-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-MembershipUser-%D9%88-MembershipProvider-%D8%AF%D9%84%D8%AE%D9%88%D8%A7%D9%87) رو ببینید

bftarane
سه شنبه 01 آذر 1390, 13:36 عصر
خیلی جالب بود. فکر نمی کردم بشه به CUW کنترل برای ورود اطلاعات اضافی اضافه کرد و با کدنویسی اون اطلاعات رو درج کرد.
ولی به هر حال فکر می کنم باید روی روشهایی که از کنترلهای آماده مثل CUW هم استفاده نمیکنه کار کنم.
خیلی ممنون از وقتی که گذاشتید.