forum

Home / DeveloperSection / Forums / Logon and Logoff user controls. How to set IsAuthenticated is true?

Logon and Logoff user controls. How to set IsAuthenticated is true?

venkat gosetty1998502-Nov-2011

How to IsAuthenticated is set to true?
Please check this code i have written in app.

Model

        [Required(ErrorMessage = "Email Id Required")]
        [DisplayName("Email ID")]
        [RegularExpression(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", ErrorMessage = "Email Format is wrong")]
        [StringLength(50, ErrorMessage = "Less than 50 characters")]

        public string EmailId { get; set; }

        [DataType(DataType.Password)]
        [Required(ErrorMessage = "Password Required")]
        [DisplayName("Password")]
        [StringLength(30, ErrorMessage = ":Less than 30 characters")]

        public string Password { get; set; }

        public int RoleId { get; set; }

        public string FirstName { get; set; }

        public bool IsUserExist(string emailid, string password)
        {
            bool flag= false;
            con.Open();
            SqlDataReader dr;
            SqlCommand cmd = new SqlCommand("select count(*) from Security.Users where UserName='" + emailid + "' and Password='" + password + "'", con);
            SqlCommand cmd1 = new SqlCommand("select RoleId from security.Users where UserName='" + emailid + "'", con);
            flag= Convert.ToBoolean(cmd.ExecuteScalar());
            dr = cmd1.ExecuteReader();
            if (dr.Read() == true)
            {
                RoleId = Convert.ToInt32(dr[0].ToString());
            }
            dr.Close();
            con.Close();
            return flag;
        }

Controller

[HttpPost, ValidateInput(false)]
        public ActionResult LogOn(Login model)
        {
            if (ModelState.IsValid)
            {
                if (model.IsUserExist(model.EmailId, model.Password))
                {
                    model.FirstName = User.Identity.Name;
                    if (model.RoleId == 1)
                    {
                        model.IsLoggedIn();
                        return RedirectToAction("Index", "SuperAdmin");
                    }
                    else if (model.RoleId == 2)
                    {
                        model.IsLoggedIn();
                        return RedirectToAction("Home", "Admin");
                    }
                    else if (model.RoleId == 3)
                    {
                        model.IsLoggedIn();
                        return RedirectToAction("Index", "AppHome");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "EmailId or Password do not match");
                }
            }
            ViewData["RoleId"] = model.RoleId;
            ViewData["FirstName"] = model.FirstName;
            return View(model);
        }

Updated on 02-Nov-2011

Can you answer this question?


Answer

1 Answers

Liked By