ذخیره یک کلاس درکوکی
سلام
فرض کنید می خواهم اطلاعات Name,Famliy,UserName (تعداد ایتمها 20 مودرمیباشد ) کاربری که لاگین کرده را در یک کوکی باهم نگهداری کنم و ازانها در بخشهای که نیاز دارم استفاده کنم
و برای این کار یک کلاس تعریف کرده ام
public class UserCo { public string Name { get; set; } public string Family { get; set; } public string UserName { get; set; } }
سوال من این است که
الف) ایا این روش روش خوبی است یانه
ب) چگونه می توانم این کلاس را در یک کوکی ذخیره کنم
ج)پیشنهاد شما برای این کار چیست
2 پاسخ
سلام به شما دوست عزیز
شما دو راه دارید که این کار را انجام دهید. راه اول این است که چون کوکی فقط رشته قبول می کند تک تک آیتم های کلاس را در داخل کوکی ذخیره کنید. به این معنی که که اگر شما نام و نام خانوادگی و ... دارید یک رکورد کوکی برای نام و یک رکورد کوکی دیگر برای نام خانوادگی و .. به همین صورت داشته باشید. البته این کار خیلی سخت بوده و احتمال اشتباه در آن زیاد است.
راه دوم تبدیل کلاس به رشته json است شما می توانید یک شئ کلاس را به json تبدیل کنید و آن را در کوکی ذخیره کنید و سپس آن را هر جا که نیاز داشتید لود کرده و از آن استفاده کنید. برای تبدیل به کوکی می توانید از کد زیر استفاده کنید.
var serializer=new JavascriptSerializer(); var jsonString=serializer.Serialize(obj);
همچنین برای این که یک رشته جیسون را به یک شئ تبدیل کنیم از متد deserializer استفاده می کنیم.
این نکته را دقت داشته باشید که کوکی به هیچ عنوان امن نیست و نباید اطلاعات حیاتی را داخل آن نگهداری کنیم.
سلام دوست عزيز
اين كار بيشتر شبيه به خودكشي محض است !
اين يك اصل است : هميشه بدون اهميت ترين مقادير از لحاظ امنيتي رو در كوكي ذخيره كن و موارد با اهميت رو تا حد امكان ذخيره نكن يا اگر ميخواهي ذخيره كني حتما رمزنگاري كن .
موفق باشي .