لاگین کردن از طریق کد در asp.net بدون گذشتن از صفحه لاگین
اول از همه عنوان انگلیسی آنچه توضیح داده خواهد شد:
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 کردن کاربر به صفحه دلخواه.