MVC5 с индивидуальной идентификацией - PullRequest
0 голосов
/ 01 мая 2020

У меня есть приложение mvc5 с пользовательским логином. Ничего сумасшедшего, я просто получаю имя пользователя и пароль от MongoDB, затем я делаю свою проверку.

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Login ( LoginViewModel vm )
        {
            try
            {
                if ( !ModelState.IsValid )
                    return View ( );

                var db = new MongoDb ( );
                var user = db.GetUser ( vm.Email.Trim ( ) );

                if ( user == null )
                    return View ( "Home" );

                string oldHash = user.Hash;
                byte [ ] salt = user.Salt;

                bool isLogin = Security.CompareHashValue ( vm.Password, vm.Email, oldHash, salt );

                if ( !isLogin )
                {
                    TempData [ "ErrorMSG" ] = "Access Denied! Wrong Credential";
                    return View ( vm );
                }

                SignInRemember ( vm.Email, vm.RememberMe );

                FormsAuthentication.SetAuthCookie ( vm.Email, false );

                Session [ "User" ] = vm;

                return RedirectToAction ( "Index", "Dashboard" );

Теперь, пока я не в том же контроллере, isAuthenticated имеет значение true, но когда я go делаю Dashboard / Index

class Dashboard {
...
    public ActionResult Index()
    {
        bool auth = User.Identity.IsAuthenticated;

ложно, и если я использую декоратор [Authorized], пользователь не сможет получить доступ к ActionResult.

Я думаю, что все правильно, но я хотел бы, чтобы все работало: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...