اول از همه عنوان انگلیسی آنچه توضیح داده خواهد شد:

How to authenticate user programmatically in ASP.NET?

موارد کاربرد:

1- زمانیکه بخواهیم بعد از ساختن کاربر جدید وی را به صفحه لاگین نفرستیم و دسترسی استفاده از برنامه را به او بدهیم.

2- زمانیکه بخواهیم صفحاتی را با نام کاربری از پیش تعیین شده به کاربرانی که لاگین نکرده اند نشان دهیم.

3- زمانیکه در حال برنامه نویسی هستیم و هر بار نمی خواهیم برای تست صفحه از صفحه لاگین بگذریم.


برای این کار کافیست:

1- متد زیر را در کد بنویسیم:

FormsAuthentication.SetAuthCookie("username", true);

با این کار یک کوکی برای username توسط برنامه ساخته می شود.

2- برای اینکه متد Membership.GetUser مقدار درستی برگرداند (null ندهد) کد زیر را به برنامه اضافه می کنیم:

MembershipUser user = Membership.GetUser("username");

GenericIdentity identity = new GenericIdentity(user.UserName);

RolePrincipal principal = new RolePrincipal(identity);

System.Threading.Thread.CurrentPrincipal = principal;

HttpContext.Current.User = principal;

3- redirect کردن کاربر به صفحه دلخواه.