احراز هویت بدون پسورد در ASP Identity
بسم الله الرحمن الرحیم
نحوه لاگین کردن یک کاربر بدون داشتن کلمه عبور در ASP Identity
ASP.NET Identity دارای توابع و قابلیت های بسیار زیادی می باشد، یکی از این قابلیت ها اجازه Login کردن بدون داشتن پسورد می باشد.
در تمامی پروژه ها معمولا نیاز است تا مدیر اصلی سیستم بتواند با یک کاربر Login کند، یکی از بهترین روش های ممکن برای انجام اینکار اضافه کردن یک Button در بخش مورد نیاز و اضافه کردن کد زیر برای انجام عملیات احراز هویت و Login کردن بدون دسترسی به پسورد فرد می باشد.
ابتدا یک پراپرتی از ApplicationSignInManager به صورت زیر ایجاد می کنیم تا بتوانم به متدهای ASP.Identity دسترسی داشته باشیم.
private ApplicationSignInManager _signInManager;
public ApplicationSignInManager SignInManager
{
get
{
return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
}
private set { _signInManager = value; }
}
حال می توانیم Action خود را به صورت زیر ایجاد کنیم.
[HttpPost]
public ActionResult Login(string name)
{
var user = await UserManager.FindByNameAsync(name);
if (user != null)
{
SignInManager.SignIn(user, true, true);
}
return View();
}
متد SignInManager.SignIn سه پارامتر را دریافت می کند، پارامتر اول userName کاربر می باشد و پارامتر دوم و سوم به ترتیب isPersistent , rememberBrowser می باشد.
در صورت نیاز به اطلاعات بیشتر در مورد ASP Identity می توانید از طریق لینک زیر آموزش ASP.NET Identity را مطالعه کنید.