ورود

View Full Version : سوال: ID کاربر



alireza_rashvand
یک شنبه 28 اردیبهشت 1393, 17:15 عصر
با سلام
یکی از نکات مهم نگه داشتن id کاربره که توصیه شده از Session استفاده نشه...
ایا دوستان پیشنهادی دارند که بعد از لاگین ID کاربر رو چطوری همیشه همراه داشته باشیم تا در ثبت حذف و نمایش بدونیم چه کسی این کار رو انجام میده؟

kavayo
یک شنبه 28 اردیبهشت 1393, 17:51 عصر
اگر از کنترل لاگین خود مایکروسافت استفاده میکنی که خودش این کار رو انجام میده و کافیه فقط صداش بزنی و اگر لاگین رو خودت ایجاد کردی میتونی از کوکی ها برای نگهداری id مورد نظر استفاده کنی.

alireza_rashvand
یک شنبه 28 اردیبهشت 1393, 18:27 عصر
اگر از کنترل لاگین خود مایکروسافت استفاده میکنی که خودش این کار رو انجام میده و کافیه فقط صداش بزنی و اگر لاگین رو خودت ایجاد کردی میتونی از کوکی ها برای نگهداری id مورد نظر استفاده کنی.

دقیقا بر اساس این تاپیک (http://barnamenevis.org/showthread.php?445406-%DA%A9%D8%AF-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D8%A8%D8%A7-MVC&p=1993054&viewfull=1#post1993054)و این اموزش (http://www.dotnettips.info/post/822/asp-net-mvc-18)لاگین رو طراحی کردم. (یعنی خودم طراحی کردم)
لطف می کنید نمونه کد نشان بدید.
وقتی در لاگین FormsAuthentication.SetAuthCookie رو set می کنیم پارامتر اول رو می شه استفاده کرد.

FormsAuthentication.SetAuthCookie(User.Username, User.RememberMe);

مثلا می توان ایجوری استفاده کرد

@if (Request.IsAuthenticated)
{
<text>Welcome <strong>@User.Identity.Name</strong>!
}


حالا به نظرتون چگونه می شه ID رو داشت.

cancerr
یک شنبه 28 اردیبهشت 1393, 22:23 عصر
simple membership عالیه تحقیق کن . تمام نیاز هارو بر طرف می کنه . به entity framwork هم وصل میشه آیدی رو همیشه حتا تو view هم می تونی داشته باشی . در کل کامله کامله از بازیابی رمز با یک رشته بگیر تا ثبت و ویرایش و محدودیت ها

kavayo
دوشنبه 29 اردیبهشت 1393, 08:26 صبح
اگر از membership استفاده میکنی برای دسترسی به UerID کاربر میتونی به این صورت عمل کنی :



if (User.Identity.IsAuthenticated)
{
Guid userGuid = (Guid)Membership.GetUser().ProviderUserKey;
}

و اگر خودت یه جدول واسه کاربرن ایجاد کردی باید پس از ورود کاربر UserID کاربر مورد نظر را در یک کوکی قرار دهی و هر زمان که خواستی میتوانی با صدا زدن این کوکی به UserID کاربر مورد نظر دسترسی داشته باشی.

alireza_rashvand
دوشنبه 29 اردیبهشت 1393, 10:36 صبح
مثل اینکه باید membership رو مطالعه کنم.
ولی یک سوال, استفاده از کوکی خطرناک نیست؟

alireza_rashvand
چهارشنبه 31 اردیبهشت 1393, 17:25 عصر
برای مطالعه membership دوستان پیشنهادی ندارند؟

sunn789
چهارشنبه 07 خرداد 1393, 13:46 عصر
سلام
در mvc از ورژن 4 به بعد membership رو کنار زدن و از OWIN استفاده میکنن ، اکه ویژال استادیو تون رو به آپدیت 2 به روز کزده باشید که دیگر درگیری بسیار زیادی با Identity خواهید داشت ، و اگر اپدیت نکردین توسعه و به دست اوردن مشخصات کاربر بسای رساده تر خواهد بود www.asp.net/identity رو در این مورد حتماً ببین (من الان دو هفته هست فقط درگیر همین Identity هستم)

alireza_rashvand
پنج شنبه 08 خرداد 1393, 14:24 عصر
یعنی شما می فرمایید برای حل مشکلم


با سلام
یکی از نکات مهم نگه داشتن id کاربره که توصیه شده از Session استفاده نشه...
ایا دوستان پیشنهادی دارند که بعد از لاگین ID کاربر رو چطوری همیشه همراه داشته باشیم تا در ثبت حذف و نمایش بدونیم چه کسی این کار رو انجام میده؟

به جای مطالعه membership ,
OWIN رو مطالعه کنم.؟ (هنوز وقت نکردم مطالعه رو شروع کنم)

در کل شما نمونه کدی دارید که نشان داده باشه چطوری ای دی کاربر رو داشته باشیم.؟
سپاس.

sunn789
پنج شنبه 08 خرداد 1393, 15:49 عصر
تو امضا من وبلاگم هست و توی اون میتونی به دست اوردن ایدی کاربر رو ببینی اما ادرسش اینه
http://mvcdeveloper.blog.ir/1392/12/05/%D8%A8%D9%87-%D8%AF%D8%B3%D8%AA-%D8%A7%D9%88%D8%B1%D8%AF%D9%86-Id-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D8%AF%D8%B1-%D8%B2%D9%85%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-%D8%A7%DA%A9%D8%A7%D9%86%D8%AA-%D8%AE%D9%88%D8%AF-%D8%A7%D9%85-%D9%88%DB%8C-%D8%B3%DB%8C-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D9%85%DB%8C%DA%A9%D9%86%DB%8C%D9%85

alireza_rashvand
پنج شنبه 08 خرداد 1393, 17:52 عصر
سپاس از شما
مطالعه کنم ببینم چی می شه. اگه سوالی بود یا در سایت یا همین جا عرض می کنم تا جواب شما به کار دیگران هم بیاد.
فکر کنم به خاطر حروف فارسی لینک شماست.

helpsos
جمعه 16 خرداد 1393, 23:02 عصر
دقیقا بر اساس این تاپیک (http://barnamenevis.org/showthread.php?445406-%DA%A9%D8%AF-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D8%A8%D8%A7-MVC&p=1993054&viewfull=1#post1993054)و این اموزش (http://www.dotnettips.info/post/822/asp-net-mvc-18)لاگین رو طراحی کردم. (یعنی خودم طراحی کردم)
لطف می کنید نمونه کد نشان بدید.
وقتی در لاگین FormsAuthentication.SetAuthCookie رو set می کنیم پارامتر اول رو می شه استفاده کرد.

FormsAuthentication.SetAuthCookie(User.Username, User.RememberMe);

مثلا می توان ایجوری استفاده کرد

@if (Request.IsAuthenticated)
{
<text>Welcome <strong>@User.Identity.Name</strong>!
}


حالا به نظرتون چگونه می شه ID رو داشت.

با این کد می تونی ID رو نگه داری:
FormsAuthentication.SetAuthCookie(user.UserId.ToSt ring(CultureInfo.InvariantCulture), model.RememberMe);
و هر وقت که بهش نیاز داشتی با دستور زیر اونرو صدا بزنی
@User.Identity.Name

sunn789
شنبه 17 خرداد 1393, 14:44 عصر
خدمتتون عرض صحبتها و راه حلهای شما متین و قابل استناد ، فقط نظر شخصی من اینه که الان با فرمهای دو مرحله ای و استفاده خود ماکروسافت از Owin , مهاجرت از SimpleMemberShip بهتره که اصول owin.org رو مطالعه کنید ، از طزفی در Vs 2014 هم از Identity 2 استفاده کرده و از لوگینهای دو مرحله ای و استفاده از شبکه های اجتماعی و کلی مطلب دیگه به بهترین نحو استفاده شده ، با هم من صحبتهای شما رو نقض نمیکنم

helpsos
شنبه 17 خرداد 1393, 17:26 عصر
خدمتتون عرض صحبتها و راه حلهای شما متین و قابل استناد ، فقط نظر شخصی من اینه که الان با فرمهای دو مرحله ای و استفاده خود ماکروسافت از Owin , مهاجرت از SimpleMemberShip بهتره که اصول owin.org رو مطالعه کنید ، از طزفی در Vs 2014 هم از Identity 2 استفاده کرده و از لوگینهای دو مرحله ای و استفاده از شبکه های اجتماعی و کلی مطلب دیگه به بهترین نحو استفاده شده ، با هم من صحبتهای شما رو نقض نمیکنم
بله حرف شما رو کاملا تایید میـــــــکنند!
ولی وقتی که من هنوز نتوانستم از Identity2 در پروژه ی چند لایه استفاده کنم و کسی هم بهمون جواب نمیده پس مجبوریم که از همون قدیمی ها استفاده کنیم!:ناراحت:

sunn789
شنبه 17 خرداد 1393, 21:05 عصر
بله حرف شما رو کاملا تایید میـــــــکنند!
ولی وقتی که من هنوز نتوانستم از Identity2 در پروژه ی چند لایه استفاده کنم و کسی هم بهمون جواب نمیده پس مجبوریم که از همون قدیمی ها استفاده کنیم!:ناراحت:

نمیدونم کجاش گیر کردی اما من تفریباً دارم روی سه تا پروژه کار میکنم و هر سه رو به Identity 2 ارتقا ء دادم البته ارتقاء نه ، جایگزین ، شایذ بابت هر اشتباه بیست بار پروژه رو از ابتدا ایجاد کردم اما این امکان دسترسی واقعاً کارهام رو راه انداخت :
مثلاً : من یه صندوق قرض الحسنه رو که قبلاً نرم افزارش رو با WPF نوشته بودم میخوام به MVC عوض کنم ، اینکه مدیر صندوق چی ببینن و کاربر بتونه لیست تراکنشهاش رو ببینه و مدیر میانی هم یک سری دسترسی داشته باشه خیلی کمک کرد، فقط الان درگیر چاپ اطلاعات با HTML هستم چون اولین باره که دارم این کار رو با MVC انجام میدم چون قبلاً تو WPF با FastReport به راحتی انجام میدادم حالا بماند کپی از بانک فدین به این سیستم Identity جدید
ما مخلصیم:چشمک:

helpsos
یک شنبه 18 خرداد 1393, 17:54 عصر
آیا پروژه های شما هم جند لایه است؟

sunn789
سه شنبه 20 خرداد 1393, 10:08 صبح
پروژه ها رو MVC ایجاد میکنه من فقط از Sample ی که با استفاده از nuget بهم میده اونو اپدیت یکنم و ادامه میدم ؛ اگع منظورتون از چند لایه اضافه کردن لایه های خودتون در بین سه لایه MVC باشه، نه من لایه ای اضافه نمیکنم ، مدل هام معلوم میکنم :Controll ها اضافه میکنم ، و View رو هم یا خودم اضافه میکنم و یا گاره تو قسمت مدیریت با خود VS ایجاد میکنم