View Full Version : کاربر جاری در MemberShip
IR-Developer
سه شنبه 28 بهمن 1393, 20:57 عصر
سلام هر کار میکنم توی MemberShip کاربر جاری را نمیتونم بگیرم . Null برمیگردونه . کاربر لاگین هست و به عنوان کاربر لاگین کرده هم هست . میخوام id کاربر جاری را بگیرم از هر دستوری استفاده میکنم نمیده .
string userId = Membership.GetUser().ProviderUserKey.ToString();
MembershipUser currentUser = Membership.GetUser();
var currentUserId = currentUser.ProviderUserKey;
اشکال کدم چیه ؟
مرسی .
IR-Developer
چهارشنبه 29 بهمن 1393, 21:01 عصر
دوستان لطفا راهنمایی کنید .قبلا این مشکل نداشتم ولی اینطور که سرچ کردم فهمیدم جدیدا مایکروسافت بعضی توابع را جا به جا کرده وتوی dll دیگه که باعث شده بود برای من کلا ارور بده بخاطر همین EntityFramework را آپدیت کردم و خطاش برطرف شد ولی الان اصلا کاربر جاری را نمیگیره .
niloo17
پنج شنبه 30 بهمن 1393, 11:57 صبح
شما می تونید از کد زیر استفاده کنید .
WebSecurity.CurrentUserId
https://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity%28v=vs.111%29.aspx
IR-Developer
پنج شنبه 30 بهمن 1393, 23:07 عصر
شما می تونید از کد زیر استفاده کنید .
WebSecurity.CurrentUserId (https://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.currentuserid%28v=vs .111%29.aspx)
https://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity%28v=vs.111%29.aspx
میشه یکم واضح تر توضیح بدید ؟ من متوجه نشدم و نتونستم ازش استفاده کنم . اصلا Websecurity را نمیشناسه .
IR-Developer
جمعه 01 اسفند 1393, 16:21 عصر
دوستان کارم خیلی گیره خواهشا راهنمایی کنید .
sunn789
جمعه 01 اسفند 1393, 17:17 عصر
امیدوارم اشتباه نگرفته باشم ، اما دوست عزیز بهتره از سیستم جدید اعتبار سنجی کاربر استفاده کنید این سیستمی که شما کار میکنید مربوط به membership در asp.ner form است و در حال حاضر در mvc از identity 2 با پایه owin استفاده میشود که کار کردن باهاش راحته ، هر چند تا جایی که میدونم از membership هم میشود استفاده کرد ، برای کاربرانی که با asp.net form کار میکزدند مهیا شده است
IR-Developer
جمعه 01 اسفند 1393, 18:41 عصر
امیدوارم اشتباه نگرفته باشم ، اما دوست عزیز بهتره از سیستم جدید اعتبار سنجی کاربر استفاده کنید این سیستمی که شما کار میکنید مربوط به membership در asp.ner form است و در حال حاضر در mvc از identity 2 با پایه owin استفاده میشود که کار کردن باهاش راحته ، هر چند تا جایی که میدونم از membership هم میشود استفاده کرد ، برای کاربرانی که با asp.net form کار میکزدند مهیا شده است
خوب میشه از MemberShip اینجا هم استفاده کرد . قبلا هم استفاده کردم نمیدونم چرا اینبار اذیت میکنه !
Identity برای موقعی مناسبه که نیازهای پروژه متناسب اون باشه . اگر در جای مناسب خودش استفاده نشه اتفاقا باعث پیچیدگی و کار اضافی میشه .
برای این پروژه ی من MemberShip کافیه .
در ضمن پروژه از قبل تحلیلش انجام شده و دیتابیس هم طراحی شده و CodeFirst نیست بخاطر همین فکر کنم اضافه کردن Identity وسط پروژه کار را برای ما سخت میکنه .
niloo17
شنبه 02 اسفند 1393, 08:28 صبح
برای استفاده از WebSecurity کافیه WebMatrix.WebData به پروژه تون اضافه کنید .
WebSecurity.CurrentUserId
شناسه کاربری که در سیستم لاگین کرده است ، نمایش میدهد.
IR-Developer
شنبه 02 اسفند 1393, 14:04 عصر
برای استفاده از WebSecurity کافیه WebMatrix.WebData به پروژه تون اضافه کنید .
WebSecurity.CurrentUserId
شناسه کاربری که در سیستم لاگین کرده است ، نمایش میدهد.
مرسی ولی موقع اجرا خطا میده :
To call this method, the "Membership.Provider" property must be an instance of "ExtendedMembershipProvider".
من حالا به روش معمولی با گرفتن اسم کاربر ID را بدست میارم .
یک مشکلی که هست من یک کنترلر Base دارم که بقیه ازشون ارث بری کردن . میخوام توی سازنده ی این کنترلر id کاربر جاری را بدست بیارم و بریزم تو Session ولی توی سازنده که این کار را میکنم خطا میده :
Object reference not set to an instance of an object.
توی خود اکشن خطا نمیده ولی فقط توی سازنده دسترسی به کاربر جاری ندارم . منم فقط باید توی سازنده این کار را بکنم ولی نمیشه !
باید چکار کنم ؟
m_akbari11
یک شنبه 03 اسفند 1393, 06:53 صبح
سلام مهندس جان .
از کد زیر استفاده کن :
User.Identity.Name
string userId = Membership.GetUser(User.Identity.Name).ProviderUse rKey.ToString();
به همین سادگی
IR-Developer
دوشنبه 04 اسفند 1393, 13:37 عصر
سلام مهندس جان .
از کد زیر استفاده کن :
User.Identity.Name
string userId = Membership.GetUser(User.Identity.Name).ProviderUse rKey.ToString();
به همین سادگی
مرسی ولی خطا میده
Method not found: 'System.Data.Objects.ObjectContext System.Data.Entity.Infrastructure.IObjectContextAd apter.get_ObjectContext()'.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.