احراز هویت بدون پسورد در ASP Identity

یکشنبه 19 مهر 1394

نحوه لاگین کردن یک کاربر بدون داشتن کلمه عبور در 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 می باشد.

siavoshi

نویسنده 4 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید