public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var identity = new ClaimsIdentity(context.Options.AuthenticationType);

            UsuariosRepositorio user_repo = new UsuariosRepositorio();
            RolesRepositorio    rol_repo  = new RolesRepositorio();

            List <Rol>     roles = rol_repo.GetAll().ToList();
            List <Usuario> users = user_repo.GetAll().ToList();
            //var a = users.Where(x => x.UserName == context.UserName);

            Usuario user = users.Where(x => x.NombreUsuario == context.UserName && x.Contrasena == context.Password).SingleOrDefault();


            //Authenticate the user credentials
            if (user != null)

            {
                //identity.AddClaim(new Claim(ClaimTypes.Role, acc.GetUserRole(context.UserName)));
                Rol rol = roles.FirstOrDefault(x => x.Id == user.RolId);
                identity.AddClaim(new Claim("role", rol.NombreRol));
                identity.AddClaim(new Claim("username", context.UserName));
                identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                context.Validated(identity);
            }
            else
            {
                context.SetError("invalid_grant", "Provided username and password is incorrect");
                return;
            }
        }
コード例 #2
0
 private void bajarRol(String nombre_rol, int indice)
 {
     RolesRepositorio.deshabilitar(nombre_rol);
     tabla_roles.Rows[indice].Delete();
     refreshValues();
     if (nombre_rol == rol_actual.nombre)
     {
         this.Hide();
         this.menu.configurarBotones();
         this.Close();
     }
 }
コード例 #3
0
        private void btn_buscar_Click(object sender, EventArgs e)
        {
            tabla_roles.Rows.Clear();
            List <Rol> roles = RolesRepositorio.getRoles(tx_nombre_rol.Text);

            foreach (Rol rol in roles)
            {
                String[] row = new String[] { Convert.ToString(rol.id), Convert.ToString(rol.nombre), Convert.ToString(rol.inhabilitado) };
                tabla_roles.Rows.Add(row);
            }

            refreshValues();
        }
コード例 #4
0
        private void btn_modificar_Click(object sender, EventArgs e)
        {
            epProvider.Clear();
            if (validarCamposVacios())
            {
                return;
            }

            rol.nombre       = tx_nombre_rol.Text;
            rol.inhabilitado = check_inhabilitado.Checked;
            listarFuncionalidades();

            RolesRepositorio.modificarRol(rol, funcionalidades_rol);
            limpiarVentana();
            this.Hide();
            this.menu.configurarBotones();
        }
コード例 #5
0
ファイル: AltaRol.cs プロジェクト: redwarewolf/PagoAgilFRBA
        private void btn_alta_rol_Click(object sender, EventArgs e)
        {
            epProvider.Clear();
            if (validarCamposRol())
            {
                return;
            }

            if (RolesRepositorio.esRolExistente(tx_nombre_rol.Text))
            {
                MessageBox.Show("Ya existe un rol con el nombre ingresado", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            rol.nombre       = tx_nombre_rol.Text;
            rol.inhabilitado = false;
            listarFuncionalidades();
            RolesRepositorio.agregar(rol, funcionalidades);
            funcionalidades.Clear();
            limpiarVentana();
        }
コード例 #6
0
        public ModificacionRol(Rol rol_seleccionado, PagoAgilFrba.Login_e_Inicio.Menu menu)
        {
            this.menu = menu;
            InitializeComponent();
            var materialSkinManager = MaterialSkinManager.Instance;

            materialSkinManager.AddFormToManage(this);
            materialSkinManager.Theme       = MaterialSkinManager.Themes.LIGHT;
            materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);

            DataRow row;

            this.rol                   = rol_seleccionado;
            tx_nombre_rol.Text         = rol.nombre;
            check_inhabilitado.Checked = rol.inhabilitado;
            if (rol.inhabilitado)
            {
                check_inhabilitado.Enabled = true;
            }
            else
            {
                check_inhabilitado.Enabled = false;
            }
            tabla_funcionalidades.Columns.Add(new DataColumn("Prueba", typeof(bool)));
            tabla_funcionalidades.Columns.Add("Nombre");
            tabla_funcionalidades.Columns.Add("Descripcion");
            List <Funcionalidad> funcionalidades = FuncionalidadesRepositorio.getFuncionalidades();

            foreach (Funcionalidad funcionalidad in funcionalidades)
            {
                row                = tabla_funcionalidades.NewRow();
                row["Prueba"]      = RolesRepositorio.tieneFuncionalidad(rol.id, funcionalidad.nombre);
                row["Nombre"]      = funcionalidad.nombre;
                row["Descripcion"] = funcionalidad.detalle;
                tabla_funcionalidades.Rows.Add(row);
            }

            data_funcionalidades_rol.DataSource = tabla_funcionalidades;
        }
コード例 #7
0
ファイル: Menu.cs プロジェクト: redwarewolf/PagoAgilFRBA
        public void configurarBotones()
        {
            ocultarBotonesSide();
            ocultarTodo();
            List <String> funcionalidades = new List <string>();

            funcionalidades = RolesRepositorio.getFuncionalidades(this.user.rol);
            if (funcionalidades == null)
            {
                MessageBox.Show("Su rol ha sido inhabilitado. Por favor inicie sesión nuevamente.");
                object    sender = new object();
                EventArgs e      = new EventArgs();
                logout_Click(sender, e);
            }
            else
            {
                foreach (String funcion in funcionalidades)
                {
                    switch (funcion)
                    {
                    case "ABMROL":
                        buttonSidebarRoles.Show();
                        break;

                    case "ABMCLI":
                        buttonSidebarClientes.Show();
                        break;

                    case "ABMEMP":
                        buttonSidebarEmpresas.Show();
                        break;

                    case "ABMSUC":
                        buttonSidebarSucursales.Show();
                        break;

                    case "ABMFAC":
                        buttonSidebarFacturas.Show();
                        break;

                    case "DEV":
                        buttonSidebarOperaciones.Show();
                        this.devoluciones = true;
                        break;

                    case "REGPAGFAC":
                        buttonSidebarOperaciones.Show();
                        this.pagos = true;
                        break;

                    case "RENFACCOB":
                        buttonSidebarOperaciones.Show();
                        this.rendiciones = true;
                        break;

                    case "LISTEST":
                        buttonSidebarListados.Show();
                        break;
                    }
                }
            }
        }
コード例 #8
0
 public RolesServicios()
 {
     _rolesRepositorio = new RolesRepositorio();
 }
コード例 #9
0
 public RolesController(RolesRepositorio roles)
 {
     this.roles = roles;
 }