Пример #1
0
        public ActionResult Associar(FormCollection form)
        {
            bool isFormOk = ValidacaoForm(form);

            if (isFormOk)
            {
                var idUsuario = form["Lista"];
                var idGrupos  = form["check"];

                String[] idGruposAssociados = idGrupos.Split(',');



                UsuarioEGruposBO ueg = new UsuarioEGruposBO();

                ueg.Gravar(idUsuario, idGruposAssociados);
            }

            ViewBag.users = users;
            ViewBag.lista = itens;


            return(View());
        }
Пример #2
0
        public ActionResult Login(FormCollection form, String retunrUrl)// action responsavel por autenticação
        {
            UsuarioBO uBO = new UsuarioBO();

            GrupoUsuario grupo = new GrupoUsuario();

            String[] txbNomeUsuario = form["nomeUsuario"].ToString().Split('@'); // nonme de logon (ex: Fenix/gsc) no Active DIrectory



            if ((form["nomeUsuario"] == String.Empty || form["Senha"] == String.Empty)) // verifico se os campos nãoe stão em brancos
            {
                ViewBag.LoginError = "Nome de usuário ou senha inválidos.";
                return(RedirectToAction("Index"));
            }

            else
            {
                GrupoUsuarioBO   guBO = new GrupoUsuarioBO();
                UsuarioEGruposBO uXg  = new UsuarioEGruposBO();


                var usuario = uBO.PesquisarUsuario(form["nomeUsuario"].ToString(), form["Senha"].ToString()); // procura o usuario no banco da aplicação pelo user e senha digitado



                if (usuario != null)
                {
                    AutenticadorLDAP autenticador = new AutenticadorLDAP("LDAP://fenix.net", txbNomeUsuario[0], usuario.senha); //procura usuario no AD  com as credenciais passadas

                    if (/*autenticador.autenticar()*/ true)
                    {
                        foreach (var idGrupo in uXg.listaDeGrupoAQualPertence(usuario.id))
                        {
                            GrupoUsuario g = new GrupoUsuario();
                            g.id = idGrupo;

                            usuario.setGrupos(g);
                        }

                        usuario.privilegios = guBO.pegarPrivilegios(usuario);

                        FormsAuthentication.SetAuthCookie(usuario.usuarioLogin, true);

                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, usuario.usuarioLogin, DateTime.Now, DateTime.Now.AddMinutes(20), true, usuario.privilegios);

                        string encryptedTicket = FormsAuthentication.Encrypt(authTicket);


                        HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);



                        Response.Cookies.Add(authCookie);


                        Session.Add("UsuarioAtual", usuario);


                        Session.Add("UsuarioLogado", false); // criar uma flag para usuario logado


                        Historico log = new Historico(); // crio uma entra no log de eventos da aplicação

                        log.dataHora = DateTime.Now;
                        log.usuario  = usuario;
                        log.mensagem = "Logon em intranet.";

                        HistoricoBO logBO = new HistoricoBO();

                        logBO.Gravar(log, log.mensagem);


                        return(RedirectToAction("Principal", "Home"));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
        }