Beispiel #1
0
        /// <summary>
        /// Método usado para cadastrar o usuário no banco.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.Web.UI.ImageClickEventArgs"/> instance containing the event data.</param>
        protected void ImageButtonEnviar_Click(object sender, ImageClickEventArgs e)
        {
            Usuario usuario = new Usuario();
            usuario.matricula = TextBoxMatricula.Text;
            usuario.login = TextBoxLogin.Text;
            usuario.password = TextSenha.Text;
            usuario.permissoes = retornaListaPermissoes();

            Adaptador adpt = new Adaptador();
            //inserir o usuario no GoldenAcess
            adpt.addUsuario(usuario);

            /***************** Faz criptografia da senha após cadastrar *********************/
            GoldenAccess goldenAccess = new GoldenAccess("http://localhost:3271/GoldenAccess.soap");
            try
            {
                User usuarioAccess = goldenAccess.Authenticate(TextBoxLogin.Text, TextSenha.Text);
                GoldenAccessService servicoGoldenAccess = new GoldenAccessService(usuarioAccess);
                //servicoGoldenAccess.ChangePassword(usuario.login, Convert.ToBase64String(usuario.password));
                  //  ChangePassword(TextBoxLogin.Text, TextSenha.Text);
            }
            catch (Exception ex)
            {
                LabelErro.Text = ex.Message;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Método usado para retornar o usuario através do seu username.
        /// </summary>
        /// <param name="login">O username.</param>
        /// <returns></returns>
        public Usuario retornaUsuario(string login)
        {
            Usuario usuario = new Usuario();

            IDataReader reader;
            IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;UDB=defudb;server=localhost");
            try
            {
                minhaConexao.Open();
                IDbCommand comando = new LightBaseCommand("select permissoes from usuario where login_Usuario = @login_Usuario");
                comando.Parameters.Add(new LightBaseParameter("login_Usuario", login));
                comando.Connection = minhaConexao;
                reader = comando.ExecuteReader();

                while (reader.Read())
                {
                    DataTable dt_Permissoes = (DataTable)reader["permissoes"];
                    List<Permissoes> listaPermissoes = new List<Permissoes>();
                    for (int i = 0; i < dt_Permissoes.Rows.Count; i++)
                    {
                        Permissoes perm = new Permissoes();
                        perm.opcao = dt_Permissoes.Rows[i]["opcao_permissao"].ToString();
                        perm.tipo_permissao = Convert.ToInt16(dt_Permissoes.Rows[i]["tipo_permissao"].ToString());
                        listaPermissoes.Add(perm);
                    }
                    usuario.permissoes = listaPermissoes;
                }
            }
            finally
            {
                minhaConexao.Close();
            }

            return usuario;
        }
Beispiel #3
0
        /// <summary>
        /// Método usado para inserir um usuário no sistema e na base de usuario.
        /// </summary>
        /// <param name="usuario">O usuario a ser inserido.</param>
        public void addUsuario(Usuario usuario)
        {
            List<Permissoes> permissoes = new List<Permissoes>();
            permissoes = usuario.permissoes;
            IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;udb=defudb;server=localhost");
            try
            {
                minhaConexao.Open();
                IDbCommand meuComando = new LightBaseCommand();
                string comando = "insert into usuario (matricula_Usuario, login_Usuario, senha_Usuario, permissoes)  "
                                + "values (@matricula_Usuario, @login_Usuario, @senha_Usuario";
                meuComando.Connection = minhaConexao;
                for (int i = 0; i < permissoes.Count; i++)
                {
                    comando += ", ";
                    if (i == 0)
                    {
                        comando += "{";
                    }
                    comando += "{@opcao_permissao" + i + ",@tipo_permissao" + i + "}";
                    if (permissoes.Count == (i + 1))
                    {
                        comando += "}";
                    }

                }
                comando += ")";
                meuComando.CommandText = comando;
                meuComando.Parameters.Add(new LightBaseParameter("matricula_Usuario", usuario.matricula));
                meuComando.Parameters.Add(new LightBaseParameter("login_Usuario", usuario.login));
                meuComando.Parameters.Add(new LightBaseParameter("senha_Usuario", usuario.password));
                int count = 0;
                foreach (var perm in permissoes)
                {
                    meuComando.Parameters.Add(new LightBaseParameter("opcao_permissao" + count, perm.opcao));
                    meuComando.Parameters.Add(new LightBaseParameter("tipo_permissao" + count, perm.tipo_permissao));
                    count++;
                }
                meuComando.ExecuteNonQuery();

                /***************** Insere usuario no goldenAcess *********************/
                comando = "insert into GoldenUsers ( Login, PassWord, Name, Disabled, NeedChangePassword, Type, RegistrationDate, RegistrationTime, OrganizationArea, IdOrganizationArea )" +
                          "values( @Login, @PassWord, @Name, @Disabled, @NeedChangePassword, @Type, @RegistrationDate, @RegistrationTime, @OrganizationArea, @IdOrganizationArea)";

                meuComando.CommandText = comando;
                //string data = DateTime.Now.ToString("dd/MM/yyyy");
                meuComando.Parameters.Add(new LightBaseParameter("Login", usuario.login));
                meuComando.Parameters.Add(new LightBaseParameter("PassWord", usuario.password));
                meuComando.Parameters.Add(new LightBaseParameter("Name", usuario.login + "_" +usuario.matricula));
                meuComando.Parameters.Add(new LightBaseParameter("Disabled", false));
                meuComando.Parameters.Add(new LightBaseParameter("NeedChangePassword", false));
                meuComando.Parameters.Add(new LightBaseParameter("Type", "USER"));
                meuComando.Parameters.Add(new LightBaseParameter("RegistrationDate", DateTime.Now.ToShortDateString()));
                meuComando.Parameters.Add(new LightBaseParameter("RegistrationTime", DateTime.Now.ToShortTimeString()));
                meuComando.Parameters.Add(new LightBaseParameter("OrganizationArea", "root"));
                meuComando.Parameters.Add(new LightBaseParameter("IdOrganizationArea", 1));
                meuComando.ExecuteNonQuery();

                /***************** Coloca usuario em um grupo *********************/
                comando = "update GoldenUsers set Groups = {@Grupo} where Login = @Login";
                meuComando.CommandText = comando;
                meuComando.Parameters.Add(new LightBaseParameter("Login", usuario.login));
                //string[] grupos = new string[2];
                //grupos[0] = "TODOS";
                //grupos[1] = "RHLIM";

                meuComando.Parameters.Add(new LightBaseParameter("Grupo", "RHLIM , TODOS"));
                meuComando.ExecuteNonQuery();

            }
            finally
            {
                minhaConexao.Close();
            }
        }