نمایش User Name

mehdi58

Member
سلام

میخوام وقتی کاربری LOGIN میکنه به هر صفحه ای که رفت user name اش داخل یه LABEL نمایش داده بشه مثل موقعیکه وارد میل یاهو میشیم به هر قسمت میل که مراجعه کنیم باز هم آی دی مون اون بالا توی یه LABEL نمایش داده میشه .
 

hamid_770

New Member
دوست عزيز من ! سلام ! شايد راه هاي زيادي براي اين كار وجود داشته باشد . اما يك روش ساده اين است كه شما يك كوكي ايجاد كنين و نام كاربر رو درون اون قرار بدين . بعد براي مثال ميتونين يك lable بالاي هر صفحه دلخواه ايجاد كرد و مقدار اون رو برابر كوكي تعريف شده قرار داد !
اگه توضيح بيشتر خواستي بگو !
قربون همه - حميد
 

pooriamadani

New Member
دوست عزیز آقای حمید ساده تر از cookie استفاده از Session ها است . شما وقتی کاربر شما وصل میشود User انرا در جائی مانند Session["Username"] = "Pooria"; وارد کنید وسپس میتوانید آنرا در هر صفحه ای فراخوانی کنید به شکل زیر :
label1.Text = Session["Username"].ToString();
همان طوری که استاد من آقا حمید فرمودند ، از Cookie هم میتوانید استفاده کنید ولی چون به Cookie کاربر شما مستقیما درست رسی دارد گزینش خوبی برای Login نیست و میتواند در مواقعی برای شما ایجاد خطر کند ، نتها حسنی که دارد این است که دیگر فضائی روی سرور شما گرفته نمیشود . ولی از نظر امنیتی برای این موارد حتی در MSDN هم توصیه نشده.
 

Behrouz_Rad

Member
از روش تصدیق هویت Forms Authentication استفاده کن.
یک User Control ایجاد کن و با Include کردنش در تمامی صفحات مورد نظر و با دستور اسکریپت User.Identity.Name، نام کاربری کاربر رو در تمامی صفحات نشون بده!
در ضمن، مطلبی رو که از خودتون در میارید، به MSDN نسبت ندید!
Good Luck
 

pooriamadani

New Member
جنبا آقای بهروز شما جای استفاد من هستید ، بنده MCSD.NET هستم و فکر کنم 2 برار بر شما MSDN خودنم برو تو Index تو مقاله های Cookieرو قشنگ بخون دقیقا عین جلمه من را نوشته چون Userشما Access کامل برروی Cookie های خودش داره .
شما هم که MSDN نخوندی زیادی در مورد مطالب دیگران نظر نده
 

pooriamadani

New Member
http://msdn2.microsoft.com/en-us/library/ms178194.aspx
این هم یک لینک از توی msdn ماکروسافت که نگین از خودم در آوردم ، Tab سمت راست ، حدودا پاین صفحه ، نوشته Cookies and Security
اونجارو بخونین نوشته :
Cookies and Security
The security issues with cookies are similar to those of getting data from the client. In your application, cookies are another form of user input and are therefore subject to examining and spoofing. A user can as a minimum see the data that you store in a cookie, since the cookie is available on the user's own computer. The user can also change the cookie before the browser sends it to you.

You should never store sensitive data in a cookie, such as user names, passwords, credit card numbers, and so on. Do not put anything in a cookie that should not be in the hands of a user or of someone who might somehow steal the cookie.

حالا فکر کنم از خودم مطلبی را در نیاوردم ، اینم سند .
 

Behrouz_Rad

Member
من کاری به مدارک شما ندارم و لزومی هم نمی بینم که در مورد مدارکی که بنده در اختیار دارم به دیگران پز بدم.
این مدارک دلیلی بر سطح سواد فردی نمیشه!
در ضمن، بهتره بدونی که تمامی فروم های معروف، از کوکی استفاده می کنن.
بهتره سری به DNN و CS بزنی تا خودت ببینی!
و این رو هم بدون که UserName جز اطلاعات مهم افراد محسوب نمیشه.
اون چیزی که مهمه، Credit Number و Password هست!
همین UserName هم به صورت کد شده، با الگوریتم های Encoding رمزگذاری میشه.
یکی از این الگوریتم هایی که به وفور استفاده میشه، الگوریتم 128 بیتی و غیر قابل بازگشت MD5 هست که تا به حال کسی نتونسته اون رو هک کنه.
موفق باشی MSCD.NET جان!
 

amirlol

Well-Known Member
ببینم می خواین یک قراری با هم بزارین همدیگرو بزنین! بابا بیخیال
اینجا بهتره بخ سوالات جواب بدیم و به کار هم کاری نداشته باشیم !!!
ببخشید دخالت کردم
شاد باشید
 

pooriamadani

New Member
دادش مسله انکه اینطوری حالیت نمیشه ، توی MSDn مایکروسافت ، از زبون خود ماکروسافت ، کردم ، توچست ، آره توی اون Dot netnuke هم از Cookie استفاده میکنند ، ولی این بنده خدا هنوز نمیدونه چطوری یک یوزر رو نمایش بده چه برسه بتونه یک String رو Encod کند ، لازم به ذکر است ، هر Encode میتوان Decode کرد (اگر Encode شده باشد) بدشم پدر من چون اونا استفاده کردن ، دلیلی بر بهتر بودن نمیشه ، تو یک Application از مایکروسافت گیر بیار که از کوکی استفاده کرده باشد .
حرف من چرت ، حرف مایکروسافت هم چرت ، تو خواستی چیزی از ماکروسافت برات بیارم که آوردم ، حالا تو رعایت نکن به منم مربوط نیست ، من وظیفه خودم میدونستم به اون بنده خداه بگم حالا خواستین رعایت کنین نخواستین به .... .
منم از سر تفریح میام اینجا کاری هم به User هاش نداردم ، شاد باشید.

راستی عزیزم اون غیره قابل بازگشت رو قبول دارم ;) ولی عزیزم اون User را با MD5 تغییر بده ، بد بخواد بخونه :)) اونکه قابل برگشت نیست ، چطوری همون Username را دست داخل یک Label نمایش بده ؟

آره میشه ، User رو توی کوکی Save کرد پسور رو هم با MD5 توی کوکی Save کنید ، ولی هر دفه که User & pass را از کوکی میگیری باید چک کنی که User وارد شده با پسورد ، درست است ، چون کاربر دست رسی دارد و حداقل میتونه تغییر بده ، و همین چک کردن ، روی یک Project بزرگ خیلی خوشگل حالت میگیره .(توی سرعت)

حالا هرکاری دوست دارید بکنید :(( روز خوش .
 

Behrouz_Rad

Member
دوست خوبم!
دوست دارم این بحث، به صورت یک بحث علمی بین بنده و شما باشه. بدون تحقیر و توهین.
یکی از دلایلی که باعث شد از همکاری در این فوروم منصرف بشم، طرز برخورد ناشایست برخی کاربران بود.
--------------
و اما...
باید عرض کنم که عدم اطلاع از مکانیزم تکنیک FormsAuthentication از شما که ادعای مدرک MCSD.NET رو دارید، مایه ی تعجب بسیار است!
در متنی که جنابعالی از MSDN نقل کردید، در مورد عدم ذخیره ی اطلاعات حساس در کوکی سخن به میان آمده.
مقصود این بوده که اطلاعات نباید به صورت Plain Text (متن ساده) در کوکی ها ذخیره شوند!
در این صورت کاربر به راحتی قادر به خواندن محتویات کوکی خواهد بود.
زمانی که از روش تصدیق هویت FormsAuthentication استفاده می کنید (روش معمول ایجاد بخش تصدیق هویت کاربران در ASP.NET)، پس از تایید اطلاعات شما، یک کوکی که اصطلاحا به اون Ticket گفته میشه بر روی سیستم شما قرار می گیره.
پس از اون، با ارسال هر درخواست (Request) از جانب کلاینت به سرور، وجود این کوکی در پارامترهای HTTP ارسالی توسط کاربر چک می شود و در صورتی که این کوکی یافت شد، اجازه ی دسترسی به منبع مورد نظر به کاربر داده می شود، در غیر اینصورت، کاربر به صفحه ی لوگین رهنمون خواهد گشت...
و اما...
فرمودید که استفاده از کوکی ها رو در فوروم های DNN , CS قبول دارید اما این رو قبول نداشتید که مایکروسافت از این روش در برنامه های مبتنی بر وب خودش استفاده می کنه و خواستار مثالی در این مورد شده بودید!
خدمت شما عرض می کنم که سایت معروف http:/www.asp.net که سایت رسمی مایکروسافت در زمینه ی ASP.NET هست، از روش تصدیق هویت FormsAuthentication استفاده می کنه.
کد:
Copyright © 2005 Microsoft Corporation. All Rights Reserved
در صفحه ی اصلی این سایت، بر روی لینک Log in در گوشه ی سمت راست - بالای صفحه کلیک کنید. در صفحه ای که ظاهر می شود، چک باکسی با عنوان "Automatically keep me signed in" مشاهده می کنید که مطمئنا معنای آن را می دانید.
شما در حقیقت با این گفته ی خود، استفاده از گزینه ی "یادآوری" در صفحات لوگین تمامی سایت ها را نقض و آن را عملی اشتباه می پندارید!
راستی عزیزم اون غیره قابل بازگشت رو قبول دارم ;) ولی عزیزم اون User را با MD5 تغییر بده ، بد بخواد بخونه ) اونکه قابل برگشت نیست ، چطوری همون Username را دست داخل یک Label نمایش بده ؟
و اما توضیح در مورد جمله ی فوق:
همان گونه که قبلا عرض کردم، الگوریتم MD5 یک الگوریتم غیر قابل بازگشت است.
روش استفاده از این الگوریتم بدین شکل است که متن کد شده را بازیابی می کنیم. متن اصلی را نیز کد می کنیم و آن را با متن کد شده ی بازیابی شده مقایسه می کنیم.
در صورتی که هر دوی این متن ها شبیه به هم شدند، آنگاه مقایسه صحیح بوده است.
آره میشه ، User رو توی کوکی Save کرد پسور رو هم با MD5 توی کوکی Save کنید ، ولی هر دفه که User & pass را از کوکی میگیری باید چک کنی که User وارد شده با پسورد ، درست است ، چون کاربر دست رسی دارد و حداقل میتونه تغییر بده ، و همین چک کردن ، روی یک Project بزرگ خیلی خوشگل حالت میگیره .(توی سرعت)
به هیچ وجه نیاز به چک کردن مجدد User Name و Password نیست!
این عمل تنها یک بار و آن هم در هنگام لوگین کاربر انجام می پذیرد و در مرتبه های بعدی، تنها وجود کوکی چک می شود!

اگر سوالی داشتید در خدمتم.
موفق باشید دوست MCSD.NET من!
 

MR.ICEMAN

New Member
سلام.
برای این کار بهتره از قابلیت کوکی و دیتابیس همزمان استفاده کنی به این طریق که یک رشته به صورت random ایجاد میکنی و این رشته را به همراه تاریخ و ساعت login کاربر به دیتابیش وارد میکنی و هم چنین این رشته و شماره کاربر را توسط کوکی در سیستم کاربر ذخیره میکنی . هر ارجا و درخواست از سوی کاربر اطلاعات کوکی را به سرور میفرسته و با کنترل صحت رشته ذخیره شده در کوکی و تاریخ ورود و ساعت ورود ( تارخ و ساعت ذخیره شده در دیتا بیس با تاریخ و ساعت سرور ) که نباید بیش از 8 ساعت از زمان ورود کاربر گذشته باشد. پس از صحت اطلاعات نام کاربری را توسط کد کاربری ذخیره شده در کوکی بیرون کشیده و نمایش میدهید باید دقت کرد که در کوکی هیچ اطلاعات مهمی ذخیره نگردد. " هر روش مطمئنی نیازمند هزینه و صرف وقت زیادی است " MR.ICEMAN [email protected]
 
خوب عزیز من درست می گه اگر کاربر قابلیت دریافت کوکی رو تو مرورگرش غیرفعال کنه چی
پس بهترین گزینه استفاده از سیشن هستش
 

MDP

Well-Known Member
جنبا آقای بهروز شما جای استفاد من هستید ، بنده MCSD.NET هستم و فکر کنم 2 برار بر شما MSDN خودنم

ببخشد ولی اگه شما MCSD.Net

اینجا اساتیدی وجود دارن که 10000 برابر شما و من بلدن.با اینکه مثلا شما شاید مدرک نداشته باشن ولی اونا

بهتر بلدن

مدرکترو به روخ دیگران نکش
 

m_ziba

Member
mehdi58 بهروز كه جواب شما رو داد كافيه هر جا كه مي خواين استفاده كنيد User.Identity.Name رو بذارين مثلاَ:

کد:
Label1.Text = User.Identity.Name

سوال: اصلاَ شما از ASP.NET استفاده مي كنيد؟ يا ASP؟

دوستان كه بحث رو به انحراف كشيدين لطف كنيد همين جا تمومش كنيد
 

MDP

Well-Known Member
بچه ها نظزتون راجع به cach یا همون کاشه چیه اونم روش بدکی نیست!!!
 

m1pfard

Member
بهتره این بحث به بخش ورزشی (اونم از نوع رزمی ) انتقال داده بشه.
خوب دو تا راه حل ساده برای یه سوال ساده تر:
1- استفاده از session
2- استفاده از User.Identity.Name
حالا دیگه بقیه این حرفا واسه چیه؟!
 

جدیدترین ارسال ها

بالا