View Full Version : سوال: بدست آوردن UserId افراد آنلاین
emperor8778
پنج شنبه 02 اردیبهشت 1389, 18:37 عصر
سلام دوستان. من در حال طراحی یه سایت با استفاده از ASP.NET 3.5 و زبان C# هستم. توی سایتم چند تا صفحه دارم که کاربر باید یه سری اطلاعات رو توی این صفحه ها وارد کنه. برای سایت امکان Login تعریف کردم. می خوام بدونم چجوری میشه UserId کاربری که لاگین کرده رو بدست بیارم تا توی این صفحه های فرعی ازش استفاده کنم؟ ممنون میشم اگه راهنماییم کنین
mehdi.mousavi
پنج شنبه 02 اردیبهشت 1389, 18:50 عصر
سلام دوستان. من در حال طراحی یه سایت با استفاده از ASP.NET 3.5 و زبان C# هستم. توی سایتم چند تا صفحه دارم که کاربر باید یه سری اطلاعات رو توی این صفحه ها وارد کنه. برای سایت امکان Login تعریف کردم. می خوام بدونم چجوری میشه UserId کاربری که لاگین کرده رو بدست بیارم تا توی این صفحه های فرعی ازش استفاده کنم؟ ممنون میشم اگه راهنماییم کنین
سلام.
MembershipUser membershipUser = Membership.GetUser();
System.Diagnostics.Debug.Assert(membershipUser != null && membershipUser.ProviderUserKey != null);
Guid userId = new Guid(membershipUser.ProviderUserKey.ToString());
موفق باشید.
emperor8778
پنج شنبه 02 اردیبهشت 1389, 21:30 عصر
سلام.
MembershipUser membershipUser = Membership.GetUser();
System.Diagnostics.Debug.Assert(membershipUser != null && membershipUser.ProviderUserKey != null);
Guid userId = new Guid(membershipUser.ProviderUserKey.ToString());
موفق باشید.
سلام دوست عزیز. متشکرم از راهمایی خوبتون. من این کد رو وارد کردم. ولی همون اول کار یه همچین خطایی بهم داد :
'Membership' does not contain a definition for 'GetUser'
لطفا راهنمایی کنین تا بفهمم مشکل کار کجاست. باز هم متشکرم
daffy_duck376
جمعه 03 اردیبهشت 1389, 10:18 صبح
از چه روشی برای احراز هویت استفاده میکنید؟
emperor8778
جمعه 03 اردیبهشت 1389, 11:22 صبح
از چه روشی برای احراز هویت استفاده میکنید؟
از اشیای Login استفاده می کنم. البته یه خورده تغییرات توی <membership> دادم
اوبالیت به بو
جمعه 03 اردیبهشت 1389, 12:09 عصر
می خوام بدونم چجوری میشه UserId کاربری که لاگین کرده رو بدست بیارم تا توی این صفحه های فرعی ازش استفاده کنم
اگر از MemmberShip استفاده نمی کنی وقتی که Select رو از Reader می خونی، UserID رو داخل Session بریز.
emperor8778
جمعه 03 اردیبهشت 1389, 12:35 عصر
اگر از MemmberShip استفاده نمی کنی وقتی که Select رو از Reader می خونی، UserID رو داخل Session بریز.
درسته که یه خورده تغییرات توی membership دادم، ولی این تغییرات جزئی بودن. من کماکان از membership استفاده می کنم. نمی دونم برنامه چه مشکلی با GetUser داره.
چشم انتظار کمکتون هستم... پیشاپیش متشکر
mehdi.mousavi
جمعه 03 اردیبهشت 1389, 19:56 عصر
سلام دوست عزیز. متشکرم از راهمایی خوبتون. من این کد رو وارد کردم. ولی همون اول کار یه همچین خطایی بهم داد :
'Membership' does not contain a definition for 'GetUser'
لطفا راهنمایی کنین تا بفهمم مشکل کار کجاست. باز هم متشکرم
سلام.
من حدس میزنم شما کلاس Membership ای تعریف کرده اید و این تداخل اسم باعث بروز این خطا شده. لطفا جای Membership.GetUser بنویسید System.Web.Security.Membership.GetUser
اینو آزمایش کنید و نتیجه رو اعلام کنید.
موفق باشید.
emperor8778
شنبه 04 اردیبهشت 1389, 11:49 صبح
سلام.
من حدس میزنم شما کلاس Membership ای تعریف کرده اید و این تداخل اسم باعث بروز این خطا شده. لطفا جای Membership.GetUser بنویسید System.Web.Security.Membership.GetUser
اینو آزمایش کنید و نتیجه رو اعلام کنید.
موفق باشید.
باز هم سلام و متشکرم از اینکه راهنمایی های خوبی می کنین. من کد رو تصحیح کردم. ولی برنامه از خط سوم کد error می گیره. البته در هنگام کدنویسی خطا نمی گیره. هنگام اجرای کد خطا می گیره. پیغام خطاش هم اینه :
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
از خطا و صفحه details خطا هم عکس گرفتم که ضمیمه می کنم. لطفا راهنمایی کنین. باز هم متشکرم
mehdi.mousavi
شنبه 04 اردیبهشت 1389, 12:44 عصر
باز هم سلام و متشکرم از اینکه راهنمایی های خوبی می کنین. من کد رو تصحیح کردم. ولی برنامه از خط سوم کد error می گیره. البته در هنگام کدنویسی خطا نمی گیره. هنگام اجرای کد خطا می گیره. پیغام خطاش هم اینه :
سلام.
خواهش میکنم... لطفا بفرمایید خط سوم کد چی هستش؟ همونی که من اون بالا نوشتم؟ اگر اینطوره، یعنی احتمالا Membership Configuration اتون ایراد داره، و الا IIdentity باید Set شده باشه و GUID مربوطه رو بگیرید.
لطفا کد مربوط به این کلاس رو اینجا قرار بدید (بانضمام فایل web.config) تا ببینم ایراد از چی هستش.
موفق باشید.
emperor8778
شنبه 04 اردیبهشت 1389, 13:05 عصر
سلام.
خواهش میکنم... لطفا بفرمایید خط سوم کد چی هستش؟ همونی که من اون بالا نوشتم؟ اگر اینطوره، یعنی احتمالا Membership Configuration اتون ایراد داره، و الا IIdentity باید Set شده باشه و GUID مربوطه رو بگیرید.
لطفا کد مربوط به این کلاس رو اینجا قرار بدید (بانضمام فایل web.config) تا ببینم ایراد از چی هستش.
موفق باشید.
باز هم سلام. من کدی که شما داده بودی رو در page_load صفحه ای که می خواستم کپی کردم. کد اضافه ای هم توی صفحه نیست. این کدی بود که وارد کردم :
MembershipUser membershipuser = System.Web.Security.Membership.GetUser();
System.Diagnostics.Debug.Assert(membershipuser != null && membershipuser.ProviderUserKey != null);
Guid UserId = new Guid(membershipuser.ProviderUserKey.ToString());
تنظیمات Membership configuration رو هم فکر کنم دست نزدم. فایل web.config رو ضمیمه می کنم که خودتون بررسی کنین. باز هم متشکر
mehrdad201
شنبه 04 اردیبهشت 1389, 22:44 عصر
یه سوال
میشه بفرمایید نقش این خط دقیقا چیه ؟
System.Diagnostics.Debug.Assert(membershipUser != null && membershipUser.ProviderUserKey != null);
emperor8778
سه شنبه 07 اردیبهشت 1389, 20:12 عصر
باز هم سلام. دوستان کدی که آقای Mehdi.mousavi داده بودن کاملاً صحیح بود. اشکال از کدنویسی برنامۀ من بود. بنابراین این کد کاملاً برای بدست آوردن UserID افراد آنلاین مؤثره :
MembershipUser membershipuser = System.Web.Security.Membership.GetUser();
System.Diagnostics.Debug.Assert(membershipuser != null && membershipuser.ProviderUserKey != null);
Guid UserId = new Guid(membershipuser.UserName.ToString());
با تشکر بسیار بسیار زیاد از Mehdi.mousavi
liliyan87
پنج شنبه 14 مرداد 1389, 10:52 صبح
باز هم سلام. دوستان کدی که آقای Mehdi.mousavi داده بودن کاملاً صحیح بود. اشکال از کدنویسی برنامۀ من بود. بنابراین این کد کاملاً برای بدست آوردن UserID افراد آنلاین مؤثره :
MembershipUser membershipuser = System.Web.Security.Membership.GetUser();
System.Diagnostics.Debug.Assert(membershipuser != null && membershipuser.ProviderUserKey != null);
Guid UserId = new Guid(membershipuser.UserName.ToString());با تشکر بسیار بسیار زیاد از Mehdi.mousavi
سلام میشه بفرمایید اشکال کد نویسی شما چی بود من میخوام وقتی کاربر ثبت نام میکنه همون موقع userID و بدست بیارم این کد و در رویداد CreatedUser گذاشتم ولی همین خطا رو میده
Object reference not set to an instance of an object.
liliyan87
پنج شنبه 14 مرداد 1389, 10:55 صبح
این کد و باید در رویداد login قرار بدیم؟ شاید به این دلیل خطا میگیره اگه من بخوام موقع ثبت نامuserID کاربر و بدست بیارم باید چیکار کنم؟
liliyan87
پنج شنبه 14 مرداد 1389, 12:00 عصر
من این کدو تو این رویداد هم به کار بردم برای بدست آوردن userID ،
ContinueButtonClick و این خطا رو میده لطفا راهنمایی کنید
Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
rozegar21
سه شنبه 19 مرداد 1389, 23:47 عصر
منظور از این پیغام چیه تو لود نوشتم یه جایی گفتین توی رویداد لوگین میشه بیشتر توضیح بدین رویداد لوگین کجاست
mehdi.mousavi
چهارشنبه 20 مرداد 1389, 13:05 عصر
منظور از این پیغام چیه تو لود نوشتم یه جایی گفتین توی رویداد لوگین میشه بیشتر توضیح بدین رویداد لوگین کجاست
سلام.
لطفا کدی رو که منجر به بروز این خطا شده رو نیز اینجا قرار بدید.
اگر کدی که من نوشته بودم باعث این مشکل شده، این نشون میده که این شرط برقرار نیست:
membershipuser != null && membershipuser.ProviderUserKey != null
اینم به این معناست که Membership رو احتمال بسیار زیاد صحیح Config نکرده اید...
موفق باشید.
rozegar21
چهارشنبه 20 مرداد 1389, 23:38 عصر
سلام.
لطفا کدی رو که منجر به بروز این خطا شده رو نیز اینجا قرار بدید.
اگر کدی که من نوشته بودم باعث این مشکل شده، این نشون میده که این شرط برقرار نیست:
membershipuser != null && membershipuser.ProviderUserKey != null
اینم به این معناست که Membership رو احتمال بسیار زیاد صحیح Config نکرده اید...
موفق باشید.
این رو توی یک صفحه خالی نوشتم جز این کدی نبود
rozegar21
چهارشنبه 20 مرداد 1389, 23:41 عصر
بینید من اطلاعات کاربرم(همون مشتریم) رو میخوام تا همزمان با اطلاعات کالام وارد جدول فاکتورم شن برا همین به اطلاعات کاربر لوگین شده نیاز دارم میتونید کمکم کنید و تنظیمات صحیح webconfigo بهم بدید
mahsa.n
دوشنبه 08 شهریور 1389, 12:52 عصر
سلام.
MembershipUser membershipUser = Membership.GetUser();
System.Diagnostics.Debug.Assert(membershipUser != null && membershipUser.ProviderUserKey != null);
Guid userId = new Guid(membershipUser.ProviderUserKey.ToString());
موفق باشید.
سلام اگر بخوام username رو به دست بیارم چه کدی باید بنویسم؟
hosein18242
دوشنبه 08 شهریور 1389, 13:41 عصر
چرا لقمه رو ميپيچوني بعد ميخوري دوست من.....راحت ترين راه اينه كه زماني كه شخص اطلاعاتش رو وارد ميكنه يه SESSION("USERID") ازش بگير يعني اي دي شخص رو بعد تو صفحاتي كه بهش نياز داري يه QUERY بزن و اطلاعاتش رو با توجه به داشتنSESSION كه ادي شخص رو داري خارج كن و بريز تو يه كلاس حالا نميدونم كار با كلاس ها رو ميدوني يا نه البته ايني كه من گفتم براي كار با بانك SQL هست با همين كار ميكني ديگه اره؟؟؟البته اگه ميگي كه SESSION بعد از يه مدت از بين ميره ميتوني از VIEWSTATE استفاده كني هر دوشون مثل يه حافظه عمل ميكنن مثلا تو يه صفحه LOGIN اين كارو كن
SESSION("USERID=IDUSER")
mahsa.n
دوشنبه 08 شهریور 1389, 13:57 عصر
یعنی اینجوری ؟
protected void Login1_LoggedIn(object sender, EventArgs e)
{
Session["username"] = Login1.UserName;
}
}
حالا اگر بخوام بفرستمش به یک صفحه دیگه چی کار کنم؟
چه جوری توی یک صفحه دیگه چاپش کنم؟
mehdi.mousavi
دوشنبه 08 شهریور 1389, 15:25 عصر
سلام اگر بخوام username رو به دست بیارم چه کدی باید بنویسم؟
MembershipUser membershipUser = Membership.GetUser();
string username = membershipUser.UserName;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.