Example #1
0
        public ActionResult Login(AuthentificationLoginVm inputmodel, string returnurl)
        {
            if (ModelState.IsValid)
            {
                User logged_in_user = userService.GetUserByUsernameAndPassword(inputmodel.UserName, inputmodel.Password);

                //check credentials
                if (userService.CheckCredentials(inputmodel.UserName, inputmodel.Password))
                {
                    //alle roles voor de huidige gebruiker ophalen
                    IEnumerable <string> rolenames = logged_in_user.Roles.Select <Role, string>(r => r.Name);
                    string rolesstring             = string.Join(";", rolenames.ToArray());

                    //We maken onze eigen ticket aan zodat ook de roles bewaard kunnen worden (in de userdata property)
                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                        1,                                                                 // version
                        logged_in_user.Gebruikersnaam,                                     // Gebruikersnaam
                        DateTime.Now,                                                      // created
                        DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes), // expires
                        inputmodel.RememberMe,                                             // persistent?
                        rolesstring                                                        // roles van deze user gescheiden door ;
                        );
                    //ticket encrypteren en in cookie zetten
                    string encryptedTicket = FormsAuthentication.Encrypt(ticket);
                    var    authcookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                    Response.Cookies.Add(authcookie);

                    if (returnurl != null)
                    {
                        return(Redirect(returnurl));
                    }
                    else
                    {
                        //redirect naar homepage
                        TempData["SuccessMessage"] = "Je bent ingelogd!";
                        return(RedirectToAction("Index", "Home"));
                    }
                }

                else
                { //ongeldige gebruikersnaam of wachtwoord
                    //voeg een foutboodschap toe (wanneer key == "", dan hoort deze niet bij een bepaalde property)
                    ModelState.AddModelError("", "De ingevoerde gebruikersnaam of wachtwoord is ongeldig");
                    //aanmeldingscherm opnieuw tonen
                    return(View(inputmodel));
                }
            }
            else
            {
                //onvolledige gegevens, toon formulier opnieuw
                return(View(inputmodel));
            }

            ////inloggen door een authenticatie cookie te plaatsen op client
            //FormsAuthentication.SetAuthCookie("Admin", userService.CheckCredentials(inputmodel.UserName,inputmodel.Password));

            //        return RedirectToAction("Index", new { Controller = "Home" });
            //    }
            //    else
            //    {
            //        //ongeldige gebruikersnaam of wachtwoord
            //        ModelState.AddModelError("", new Exception("U voerde een ongeldige gebruikersnaam of paswoord in!"));
            //        return View(inputmodel);
            //    }
            //}

            //else {
            //    //onvolledige gegevens, toon formulier opnieuw
            //    return View(inputmodel);
            //}
        }
Example #2
0
        // GET: Authentication
        public ActionResult Login()
        {
            AuthentificationLoginVm model = new AuthentificationLoginVm();

            return(View(model));
        }