PDA

View Full Version : UserId



مهدی هادیان2
شنبه 21 دی 1392, 21:59 عصر
بسم الله الرحمن الرحیم
با سلام
دوستان همون طور که می دونید با استفاده از کد User.Identity.Name می توان به اسم کاربری که لاگین کرده دسترسی پیدا کنیم؛ حالا اگر بخواهیم به آیدی اون دسترسی پیدا کنیم و در اکثر کنترلرها به اون دسترسی داشته باشیم؛ کد مربوط به پیدا کردن آیدی رو در هر کنترلر بنویسیم یا به صورت متغیر استاتیک تعریف کنیم؟
یا راه بهتری وجود دارد؟
با سپاس فراوان

alireza_s_84
شنبه 21 دی 1392, 22:40 عصر
بسم الله الرحمن الرحیم
با سلام
دوستان همون طور که می دونید با استفاده از کد User.Identity.Name می توان به اسم کاربری که لاگین کرده دسترسی پیدا کنیم؛ حالا اگر بخواهیم به آیدی اون دسترسی پیدا کنیم و در اکثر کنترلرها به اون دسترسی داشته باشیم؛ کد مربوط به پیدا کردن آیدی رو در هر کنترلر بنویسیم یا به صورت متغیر استاتیک تعریف کنیم؟
یا راه بهتری وجود دارد؟
با سپاس فراوان
زمانیکه کاربر لاگین کرد میتونی تعدادی از مشخصات عمومی و اغلب مورد نیاز کاربر رو بصورت یک شیئ User توی Session ذخیره کنی و هرجا لازم داشتی بخونی.

Cybersilent
سه شنبه 24 دی 1392, 08:42 صبح
یعنی در برنامه های MVC راه دسترسی به اطلاعات کامل کاربر لاگین کرده، مثل قبل که در WebForm داشتیم، همچنان ذخیره در session هست؟ یعنی راه دیگه ای نیست؟ چون من خونده بودم که در mvc خیلی استفاده از session درست نیست.

alireza_s_84
سه شنبه 24 دی 1392, 12:48 عصر
یعنی در برنامه های MVC راه دسترسی به اطلاعات کامل کاربر لاگین کرده، مثل قبل که در WebForm داشتیم، همچنان ذخیره در session هست؟ یعنی راه دیگه ای نیست؟ چون من خونده بودم که در mvc خیلی استفاده از session درست نیست.
میتونید از متدهای ممبرشیپ استفاده کنید و هربار با استفاده از Username کاربر وارد شده اطلاعات رو از دیتابیس واکشی کنی (خب معقولانه نیست)
میشه بگید کجا خوندین استفاده از Session درست نیست؟؟؟!!!
اصلا این حرف قابل قبول نیست ، شما داده ی بسیار کوچکی از اطلاعات کاربر رو توی Session میریزی و ضمنا از لحاظ امنیتی هم هیچ ایرادی نداره مگر اینکه سیستم تعیین هویت شما وابسته به Session باشه که در اونصورت با سرقت رفتن Session مشکل پیش میاد.

مهدی هادیان2
چهارشنبه 25 دی 1392, 22:33 عصر
بسم الله الرحمن الرحیم
با سلام
دوستان بنده از ممبر شیپ خود ویژوال استفاده می کنم و در کنترل لاگین به شکل زیر UserId رو ست کردم:
using (UsersContext db = new UsersContext())
{
UserProfile user =
db.UserProfiles.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower());
// Check if user exists
if (user != null)
{
var UserId= user.UserId;
Session["UserId"] = UserId;
}
}
نظرتون چیه؟
با سپاس فراوان

alireza_s_84
چهارشنبه 25 دی 1392, 23:56 عصر
بسم الله الرحمن الرحیم
با سلام
دوستان بنده از ممبر شیپ خود ویژوال استفاده می کنم و در کنترل لاگین به شکل زیر UserId رو ست کردم:
using (UsersContext db = new UsersContext())
{
UserProfile user =
db.UserProfiles.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower());
// Check if user exists
if (user != null)
{
var UserId= user.UserId;
Session["UserId"] = UserId;
}
}
نظرتون چیه؟
با سپاس فراوان

اگر اطلاعات بیشتری از User نیاز داری میتونی بصورت شیئ هم ذخیره کنی ، کاملا درسته و هیچ مشکلی نداره

مهدی هادیان2
پنج شنبه 26 دی 1392, 20:24 عصر
بسم الله الرحمن الرحیم
با سلام

اگر اطلاعات بیشتری از User نیاز داری میتونی بصورت شیئ هم ذخیره کنی ، کاملا درسته و هیچ مشکلی نداره
منظورم اینه که ست کردن UserId در کنترلر لاگین درسته؟
با سپاس

alireza_s_84
پنج شنبه 26 دی 1392, 21:52 عصر
بسم الله الرحمن الرحیم
با سلام

منظورم اینه که ست کردن UserId در کنترلر لاگین درسته؟
با سپاس
بله مشکلی نداره