آموزش ASP.NET

آموزش ASP.NET متفاوت از آنچه جاهای دیگر می بینید!

آموزش ASP.NET

آموزش ASP.NET متفاوت از آنچه جاهای دیگر می بینید!

اعتبارسنجی کاربر با استفاده از محل نگهداری عضویت کاربر

گام اول: اعتبارسنجی کاربر با استفاده از محل نگهداری عضویت کاربر

برای وب سایت هایی که از اعتبارسنجی فرم ها استفاده می کنند، یک کاربر با وارد کردن نام کاربری و گذرواژه در صفحه ورود، وارد سایت می شود. سپس این اعتبارنامه ها با محل نگهداری کاربران مقایسه می شوند. اگر آنها معتبر بودند، کاربر یک بلیط اعتبارسنجی فرم ها به دست می آورد.

برای اعتبارسنجی یک کاربر با استفاده از بستر عضویت، از متد ValidateUser کلاس Membership استفاده می شود. متد ValidateUser دو پارامتر (نام کاربری و گذرواژه) می گیرد و یک مقدار بولی برمی گرداند که مشخص کننده اعتبار کاربر می باشد.

 SqlMembershipProvider اعتبارنامه وارد شده را بوسیله به دست آوردن گذرواژه کاربر وارد شده از طریق رویه ذخیره شده (stored procedure) aspnet_Membership_GetPasswordWithFormat اعتبارسنجی می کند. یادآوری می گردد که SqlMembershipProvider گذرواژه ها را در سه فرمت: encrypted, clear و یا hashed نگهداری می کند. رویه ذخیره شده aspnet_Membership_GetPasswordWithFormat گذرواژه را همراه با فرمت ذخیره شده برمی گرداند. برای گذرواژه هایی که encrypt و یا hash شده اند، SqlMembershipProvider گذرواژه ای که به متد ValidateUser پاس داده می شود را به صورت معادل encrypt و یا hash آن انتقال داده و با چیزی که از پایگاه داده برگشت داده شده است، مقایسه می کند. اگر گذرواژه ذخیره شده در پایگاه داده با گذرواژه وارد شده در فرمت مشخص شده یکسان باشند، اعتبارنامه معتبر است.

حالا صفحه ورود را به روز می کنیم.

  

 

 

این صفحه می تواند بدون دست خوردن باقی بماند، اما باید کدهای مربوط به رویداد کلیک دکمه Login جهت استفاده از محل نگهداری کاربران بستر عضویت تغییر پیدا کند. کدهای رویداد کلیک را به صورت زیر تغییر دهید:

protected void LoginButton_Click(object sender, EventArgs e)

{

// Validate the user against the Membership framework user store

if (Membership.ValidateUser(UserName.Text, Password.Text))

{

// Log the user into the site

FormsAuthentication.RedirectFromLoginPage(UserName.Text, RememberMe.Checked);

}

// If we reach here, the user's credentials were invalid

InvalidCredentialsMessage.Visible = true;

}

این کدها به طور قابل ملاحظه ای ساده هستند. با فراخوانی متد Membership.ValidatUser و پاس دادن نام کاربری و گذرواژه وارد شده به آن شروع می کنیم. اگر اعتبارنامه معتبر نباشد، برچسب InvalidCredentialMessge نمایش داده می شود، به این وسیله به کاربر اطلاع داده می شود که کاربر و یا گذرواژه وارد شده صحیح نیست.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد