コード例 #1
0
        public ActionResult Login(string nomeCompleto, string senha, string email)
        {
            if (nomeCompleto != null && senha != null && email != null)
            {
                Usuario usuario = bancoDeUsuarios.BuscarPorNome(nomeCompleto);
                if(usuario == null)
                {
                    TempData["ErrorMessage"] = "Usuario não encontrado";
                    return RedirectToAction("Index", "Login");
                }
                usuario = bancoDeUsuarios.BuscarPermissoesUsuario(usuario);
                string[] permissoes = ConverterICollectionParaArray(usuario);
                if (senha == usuario.Senha && email == usuario.Email)
                {
                    var usuarioLogLogadoModel = new UsuarioLogado(usuario.NomeCompleto, usuario.Senha, usuario.Email, permissoes);

                    FormsAuthentication.SetAuthCookie(email, true);
                    Session["USUARIO_LOGADO"] = usuarioLogLogadoModel;

                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    TempData["ErrorMessage"] = "O nome de Usuario, E-mail ou Senha inserido está incorreto.";
                    return RedirectToAction("Index", "Login");
                }
            }
            else
            {
                TempData["ErrorMessage"] = "O nome de Usuario, E-mail ou Senha inserido está incorreto.";
                return RedirectToAction("Index", "Login");
            }
        }
コード例 #2
0
        public ActionResult Login(UsuarioModel usuario)
        {
            if (ModelState.IsValid)
            {
                var servico = ModuleBuilder.CriarServicoAutenticacao();

                var usuarioAutentiado = servico.AutenticacarUsuario(usuario.Email, usuario.Senha);

                if (usuarioAutentiado != null)
                {
                    String[] permicoes = new String[2];

                    foreach (var permissao in usuarioAutentiado.Permissoes)
                    {
                        permicoes[permicoes.Count(t => t != null)] = permissao.Texto;
                    }

                    var logado = new UsuarioLogado(usuarioAutentiado.Email, permicoes);
                    FormsAuthentication.SetAuthCookie(logado.Email, true);
                    Session["USUARIO_LOGADO"] = logado;
                    return RedirectToAction("Index", "Home");
                }
            }

            ModelState.AddModelError("INVALID_LOGIN", "Usuário ou senha inválidos.");
            return View("Index", usuario);
        }