PDA

View Full Version : ذخیره مشخصات admin



niloo17
سه شنبه 22 دی 1388, 19:15 عصر
سلام دوستان
من توی برنامم یک admin دارم که فقط نام کاربری و کلمه عبور داره چون یک admin بیشتر ندارم نمی خوام توی پایگاه ذخیره کنم
به نظر شما این مشخصات را چه جوری توی برنامه ذخیره کنم

اوبالیت به بو
سه شنبه 22 دی 1388, 23:05 عصر
من توی برنامم یک admin دارم که فقط نام کاربری و کلمه عبور داره چون یک admin بیشتر ندارم نمی خوام توی پایگاه ذخیره کنم
به نظر شما این مشخصات را چه جوری توی برنامه ذخیره کنم چرا؟ دلیل؟ 1 رکورد چیزی نیست که.

niloo17
سه شنبه 22 دی 1388, 23:30 عصر
خوب یک رکورد چیزی نیست که بخوام تو پایگاه ذخیره کنم
هیچکس هیچ روشی نداره پیشنهاد بده؟؟؟؟؟؟؟؟

Mostafa_Dindar
چهارشنبه 23 دی 1388, 00:54 صبح
خوب یک رکورد چیزی نیست که بخوام تو پایگاه ذخیره کنم
هیچکس هیچ روشی نداره پیشنهاد بده؟؟؟؟؟؟؟؟

میتونید تو WebConfig هر چند تا دلتون خواست کاربر تعریف کنید و نيازي به ديتابيس هم نداشته باشيد .

<authentication mode="Forms">
<forms>
<credentials passwordFormat="Clear">
<user name="User1" password="Pass1" />
<user name="User2" password="Pass2" />
<user name="User3" password="Pass3" />
</credentials>
</forms>
</authentication>

دقت کنید passwordFormat مقدار Clear دارد .برای اینکه کسی در WebServer از مقدار اونها مطلع نشه میتونید به جای متن ساده مقدار Hash شده قرار بدین . passwordFormat علاوه بر Clear مقادیر MD5 و SHA1 رو هم قبول میکنه.

حالا برای اینکه خودتون یک لاگین بسازید دو تا TextBox و یک Button و یک CheckBox رو فرم قرار بدین و در رویداد Click دکمه لاگین به شکل زیر بنویسید

:

protected void btnLogin_Click(object sender, EventArgs e)
{
if (FormsAuthentication.Authenticate(txtUserName.Text , txtPassword.Text))
FormsAuthentication.RedirectFromLoginPage(txtUserN ame.Text, chkRememberMe.Checked);
else
lblError.Text = "نام کاربری یا کلمه عبور اشتباه هست ";
}

در صورتی که نام کاربری و کلمه عبور برابر مقدارهای از پیش تعیین شده در وب کانفیگ باشند متد Authenticate مقدار True برمیگرداند و متد RedirectFromLoginPage اجرا میشود که دو پارامتر دارد . کار این متد این هست که کاربر تائید شده را به صفحه ای که قبلا درخواست کرده بود هدایت کند . بعبارتی اگر کاربر صفحه EditNews رو درخواست کرده باشه که کاربر مجوز لازم رو نداشته باشند به این صفحه Redirect میشه و بعد از Login دوباره به همان صفحه مورد تقاضا Redirect میشه . در حالتی که کاربر مستقیما صفحه Login رو درخواست کرده باشه به صفحه Default.aspx هدایت میشه .

پارامتر های متد هم که کاملا از نامشان مشخصه . اولی نام کاربر تائید شده و دومی در صورتیکه کاربر CheckBox من را به خاطر بسپار رو انتخاب کرده باشه یک کوکی دائمی به مرورگر میفرسته .

فکر نمیکنم چیز دیگه ای مبهم مونده باشه .

موفق باشید

niloo17
جمعه 25 دی 1388, 11:04 صبح
سلام ممنون از راهنماییتون
فقط اگه خواسته باشم پسورد را عوض کنم چه جوری می تونم این کار را انجام بدم؟؟

Mostafa_Dindar
جمعه 25 دی 1388, 11:14 صبح
سلام ممنون از راهنماییتون
فقط اگه خواسته باشم پسورد را عوض کنم چه جوری می تونم این کار را انجام بدم؟؟

سلام . خواهش میکنم .

باید تو وب کانفیک اینکار را به صورت دستی انجام دهید . در واقع این سادگی این کاستی ها رو هم داره .

niloo17
جمعه 25 دی 1388, 11:20 صبح
سلام
نام کاربری ثابته ولی کلمه عبور تغییر می کنه به نظرتون می تونم کلمه عبور را توی یک فیال متنی ذخیره کنم و از اون استفاده کنم؟

Mostafa_Dindar
جمعه 25 دی 1388, 11:39 صبح
سلام
نام کاربری ثابته ولی کلمه عبور تغییر می کنه به نظرتون می تونم کلمه عبور را توی یک فیال متنی ذخیره کنم و از اون استفاده کنم؟

نه . منطقي نيست . كلمه عبور بسيار مهم هست . مرورگر تحت هيچ شرايطي به Web.Config دسترسي نداره . تنها WebServer دسترسي داره كه همانطور گفتم ميتونيم جلوي اون رو هم بگيريم .ذخيره در يك فايل متني مطلقا كار نادرستي هست .

niloo17
جمعه 25 دی 1388, 11:46 صبح
نه . منطقی نیست . کلمه عبور بسیار مهم هست . مرورگر تحت هیچ شرایطی به Web.Config دسترسی نداره . تنها WebServer دسترسی داره که همانطور گفتم میتونیم جلوی اون رو هم بگیریم .ذخیره در یک فایل متنی مطلقا کار نادرستی هست .
خوب پس چیکار باید بکنم اگه به صورت کد شده ذخیره کنم چی ؟