PDA

View Full Version : سوال: استفاده از membership provider



mehdi_394
سه شنبه 19 آذر 1387, 00:42 صبح
دوستان سلام
مشکلی که دارم اینه که فیلد هایی که در دیتا بیس به وسیله membership provider ذخیره می شوند برای کار من کافی نیست و من می خوام که اطلاعات بیشتری از کاربر را ذخیره کنم
و تغییر تعداد فیلد های membership provider هم ظاهرا ممکن نیست.مثلا اضافه کردن فیلدی برای عکس کاربر و ...

حالا نظرم اینه که چیزی شبیه membership provider را مجددا خودم کد نویسی کنم اما این بار با فیلد های که خودم می خوام
و اطلاعات مربوط به کاربر جاری را در session ذخیره کنم.
حالا می خوام نظر شما استادان رو بدونم :
1- آیا خود asp.net هم از session برای ذخیره اطلاعات کاربر جاری استفاده می کند ؟
2 - استفاده از session امنیت کافی را دارد؟
3 - البته من به استفاده از جدول دیگری برای ذخیره بقیه اطلاعات تکمیلی به همراه استفاده از کنترلهای login asp.net هم فکر کردم اما نمی دونم که باز نویسی مجدد این کلاس (هر چند ناقص) بهتره یا روشی که گفتم( استفاده از tableاضافی ) ؟
ممنون از توجه شما

Saber_Fatholahi
چهارشنبه 20 آذر 1387, 02:41 صبح
دوست من چرا از پروفایل استفاده نمی کنی دقیقا واسه چکاری میخوای؟

sara_B
چهارشنبه 20 آذر 1387, 10:35 صبح
منم همين مشكل رو دارم
اگه ممكنه راهنمايي كنيد.
ممنون

merlin_vista
چهارشنبه 20 آذر 1387, 14:22 عصر
دوستان سلام
مشکلی که دارم اینه که فیلد هایی که در دیتا بیس به وسیله membership provider ذخیره می شوند برای کار من کافی نیست و من می خوام که اطلاعات بیشتری از کاربر را ذخیره کنم
و تغییر تعداد فیلد های membership provider هم ظاهرا ممکن نیست.مثلا اضافه کردن فیلدی برای عکس کاربر و ...

حالا نظرم اینه که چیزی شبیه membership provider را مجددا خودم کد نویسی کنم اما این بار با فیلد های که خودم می خوام
و اطلاعات مربوط به کاربر جاری را در session ذخیره کنم.
حالا می خوام نظر شما استادان رو بدونم :
1- آیا خود asp.net هم از session برای ذخیره اطلاعات کاربر جاری استفاده می کند ؟
2 - استفاده از session امنیت کافی را دارد؟
3 - البته من به استفاده از جدول دیگری برای ذخیره بقیه اطلاعات تکمیلی به همراه استفاده از کنترلهای login asp.net هم فکر کردم اما نمی دونم که باز نویسی مجدد این کلاس (هر چند ناقص) بهتره یا روشی که گفتم( استفاده از tableاضافی ) ؟
ممنون از توجه شما

همان طور كه Saber_Fatholahi (http://www.barnamenevis.org/forum/member.php?u=32514) گفت بايد از Profile ها در Membership استفاده كني .
Profile ها در membership براي همين منظور در نظر گرفته شده اند كه اطلاعات اضافي كاربر را در ديتابيس ذخيره كني و به راحتي از آن در برنامه استفاده كني .
براي اطلاعات بيشتر همين موضوع را جستجو كن .

mehdi_394
پنج شنبه 21 آذر 1387, 18:54 عصر
دوست من :
از قابلیتهای profile اطلاع دارم حتما می دونید که profile کل property ها رو در یک field دیتابیس ذخیره می کنه و دلیلش هم اینه که اگه سایت بیش از یک میلیون کاربر داشته باشه اگه اطلاعات رو به جای ذخیره در یک فیلد در یک جدول ذخیره کنه حجم دیتابیس خیلی بزرگ می شه اما این روش به درد من نمی خوره چون گرفتن query از یک فیلد یا غیر ممکنه (با توجه به فرمت ذخیره سازی) یا اینکه من نمی دونم چطوری این کار رو انجام بدم.
فرض کنید که می خوام اطلاعات کاربرانی رو که از یک شهر خاص و در یک رده سنی خاص و ... قرار دارند را استخراج کنم و property های profile عبارتند از city, state,age,... این اطلاعات اگه یادم مونده باشه با profile به صورت city:tehran;age:21;state:tehran ذخیره می شه.
برای همین گفتم که اطلاعات اضافی رو در یک جدول ذخیره کنم.( یا راه حل بهتری که ممکنه دوستان انجام داده باشند.)

Saber_Fatholahi
جمعه 22 آذر 1387, 01:47 صبح
دوست من :
از قابلیتهای profile اطلاع دارم حتما می دونید که profile کل property ها رو در یک field دیتابیس ذخیره می کنه و دلیلش هم اینه که اگه سایت بیش از یک میلیون کاربر داشته باشه اگه اطلاعات رو به جای ذخیره در یک فیلد در یک جدول ذخیره کنه حجم دیتابیس خیلی بزرگ می شه اما این روش به درد من نمی خوره چون گرفتن query از یک فیلد یا غیر ممکنه (با توجه به فرمت ذخیره سازی) یا اینکه من نمی دونم چطوری این کار رو انجام بدم.
فرض کنید که می خوام اطلاعات کاربرانی رو که از یک شهر خاص و در یک رده سنی خاص و ... قرار دارند را استخراج کنم و property های profile عبارتند از city, state,age,... این اطلاعات اگه یادم مونده باشه با profile به صورت city:tehran;age:21;state:tehran ذخیره می شه.
برای همین گفتم که اطلاعات اضافی رو در یک جدول ذخیره کنم.( یا راه حل بهتری که ممکنه دوستان انجام داده باشند.)
خوب می تونی یه جدول بسازی و با جدول یوزر هات یه ارتباط یک به یک داشته باشی این کارو انجام بدی می شه اگه مشکلی بود بگو تا راهنماییت کنیم

Behrouz_Rad
جمعه 22 آذر 1387, 11:17 صبح
از قابلیتهای profile اطلاع دارم حتما می دونید که profile کل property ها رو در یک field دیتابیس ذخیره می کنه و دلیلش هم اینه که اگه سایت بیش از یک میلیون کاربر داشته باشه اگه اطلاعات رو به جای ذخیره در یک فیلد در یک جدول ذخیره کنه حجم دیتابیس خیلی بزرگ می شه اما این روش به درد من نمی خوره چون گرفتن query از یک فیلد یا غیر ممکنه (با توجه به فرمت ذخیره سازی) یا اینکه من نمی دونم چطوری این کار رو انجام بدم.


سیستم Profile کلاً سیستم بی خاصیته. مشکلات زیادی داره. انعطاف پذیر نیست. Query های به شدت سنگینی توسط برنامه نویسان مایکروسافت برای اون نوشته شده و ....
به هر حال اگر قصد داری که از سیستم Profile استفاده کنی و به مشکلی که اشاره کردی بر نخوری، از Table Profile Provider استفاده کن. این محصول رو یکی از اعضای تیم ASP.NET نوشته و هر خصوصیت رو در یک فیلد جدا ذخیره می کنه.
http://www.asp.net/downloads/sandbox/table-profile-provider-samples/

موفق باشید.