示例#1
0
        public ResponseBussiness <UserResponse> Login(UserRequest userRequest)
        {
            String ip = "::1";
            ResponseBussiness <UserResponse> response = new SecurityBusiness().Login(userRequest.NumberEmployee, userRequest.Password, userRequest.NumberAttempts, ip);

            return(response);
        }
示例#2
0
        public ResponseBussiness <OperationResponse> LoginValidacion(UserRequest userRequest)
        {
            TokenDto token    = new TokenService().Get();
            var      response = new SecurityBusiness().LoginValidacion(userRequest.NumberEmployee, userRequest.Password, token.CodeStore, token.CodeBox);

            return(response);
        }
 public List <string> EstraiListaUtentiAbilitati()
 {
     using (SecurityBusiness bSecurity = new SecurityBusiness())
     {
         return(bSecurity.EstraiListaUtentiAbilitati());
     }
 }
示例#4
0
        public ResponseBussiness <OperationResponse> Logout()
        {
            TokenDto token = new TokenService().Get();
            ResponseBussiness <OperationResponse> response = new SecurityBusiness(token).Logout();

            return(response);
        }
        public List <MenuModel> CreateMenuModel(string account, bool mostratutto)
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.FillMenu(ds);
                bSecurity.FillAccountMenu(account, ds);
            }

            List <int> idMenuAbilitati = ds.ABILITAZIONI.Where(x => x.UTENTE == account).Select(x => (int)x.IDMENU).ToList();

            List <MenuModel>          menu = new List <MenuModel>();
            List <SecurityDS.MENURow> menuDaVisualizzare = ds.MENU.Where(x => x.IsIDMENUPADRENull()).ToList();

            if (!mostratutto)
            {
                menuDaVisualizzare = ds.MENU.Where(x => x.IsIDMENUPADRENull() && x.IsAZIONENull()).ToList();
            }
            foreach (SecurityDS.MENURow row in menuDaVisualizzare)
            {
                MenuModel elementoMenu = CreaMenu(ds, row.IDMENU, idMenuAbilitati, mostratutto);
                menu.Add(elementoMenu);
            }
            return(menu);
        }
示例#6
0
        public ResponseBussiness <OperationResponse> ChangePassword(UserRequest userRequest)
        {
            TokenDto token = new TokenService().Get();
            ResponseBussiness <OperationResponse> response = new SecurityBusiness(token).ChangePassword(userRequest.NumberEmployee, userRequest.Password);

            return(response);
        }
示例#7
0
        public IActionResult saveToken()
        {
            try
            {
                Tokens token     = new Tokens();
                var    idCompany = SecurityBusiness.IdCompany(HttpContext);
                var    idUser    = SecurityBusiness.IdUser(HttpContext);

                if (idCompany == 0)
                {
                    return(BadRequest(new{
                        errorMessage = "Empresa não encontrada."
                    }));
                }

                token.active         = true;
                token.createdat      = DateTime.Now;
                token.code           = Guid.NewGuid();
                token.fk_company     = idCompany;
                token.fk_user_create = idUser;
                _csxContext.Tokens.Add(token);
                _csxContext.SaveChanges();

                return(Ok(token));
            }
            catch (System.Exception ex)
            {
                return(NotFound("Erro ao Salvar: " + ex.Message));
            }
        }
        public void CreaAccount(string account, bool copia, string daCopiare)
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                if (copia)
                {
                    bSecurity.FillAccountMenu(daCopiare, ds);
                    List <decimal> menu = ds.ABILITAZIONI.Where(x => x.UTENTE == daCopiare).Select(x => x.IDMENU).Distinct().ToList();

                    foreach (decimal idm in menu)
                    {
                        SecurityDS.ABILITAZIONIRow newrow = ds.ABILITAZIONI.NewABILITAZIONIRow();
                        newrow.IDMENU = idm;
                        newrow.UTENTE = account;
                        ds.ABILITAZIONI.AddABILITAZIONIRow(newrow);
                    }
                }
                else
                {
                    bSecurity.FillMenu(ds);

                    foreach (int idm in ds.MENU.Where(x => x.IsAZIONENull()).Select(x => x.IDMENU))
                    {
                        SecurityDS.ABILITAZIONIRow newrow = ds.ABILITAZIONI.NewABILITAZIONIRow();
                        newrow.IDMENU = idm;
                        newrow.UTENTE = account;
                        ds.ABILITAZIONI.AddABILITAZIONIRow(newrow);
                    }
                }
                bSecurity.SalvaMenuUtente(ds);
            }
        }
示例#9
0
        public ActionResult ManageRoles()
        {
            SecurityBusiness securityBusiness = new SecurityBusiness();

            ViewBag.roles = securityBusiness.GetListRoles();

            return(View("ManageRoles"));
        }
示例#10
0
        public ActionResult Security()
        {
            SecurityBusiness securityBusiness = new SecurityBusiness();

            ViewBag.roles     = securityBusiness.GetListRoles();
            ViewBag.userRoles = securityBusiness.GetListUsersRoles();
            return(View("Security"));
        }
        public static void ScriviErrore(string messaggio, string stack, string modulo)
        {
            string tipoMessaggio = "ERRORE";

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.SaveMessaggioLog(messaggio, stack, modulo, tipoMessaggio);
            }
        }
        public static void ScriviAllarme(string messaggio, string modulo)
        {
            string tipoMessaggio = "ALLARME";

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.SaveMessaggioLog(messaggio, string.Empty, modulo, tipoMessaggio);
            }
        }
 public static List <decimal> MenuAbilitatiPerUtente(string account)
 {
     using (SecurityBusiness bSecurity = new SecurityBusiness())
     {
         SecurityDS ds = new SecurityDS();
         bSecurity.FillAccountMenu(account, ds);
         return(ds.ABILITAZIONI.Select(x => x.IDMENU).Distinct().ToList());
     }
 }
        public static void ScriviInformazione(string messaggio, string modulo)
        {
            string tipoMessaggio = "INFO";

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.SaveMessaggioLog(messaggio, string.Empty, modulo, tipoMessaggio);
            }
        }
        public bool VerificaAbilitazioneUtente(int idMenu, string account)
        {
            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                SecurityDS ds = new SecurityDS();
                bSecurity.FillAccountMenu(account, ds);

                return(ds.ABILITAZIONI.Any(x => x.IDMENU == idMenu));
            }
        }
示例#16
0
        public ActionResult RegisterRole(String roleName)
        {
            SecurityBusiness securityBusiness = new SecurityBusiness();
            RoleModels       role             = new RoleModels();

            role.Name = roleName;
            securityBusiness.RegisterRole(role);

            return(Json("Exitoso"));
        }
示例#17
0
        private static SecurityDS.CONFIGURAZIONIRow EstraiValoreConfigurazioni(string codice)
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.EstraiConfigurazioni(ds, codice);
                return(ds.CONFIGURAZIONI.Where(x => x.CODICE == codice).FirstOrDefault());
            }
        }
示例#18
0
        public ActionResult DeleteRole(int id)
        {
            SecurityBusiness securityBusiness = new SecurityBusiness();
            RoleModels       role             = new RoleModels();

            role.IdRole = id;
            securityBusiness.DeleteRole(role);

            return(Json("Exitoso"));
        }
        public bool VerificaAbilitazioneUtente(int IDMENU, string UIDUSER)
        {
            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                SecurityDS ds = new SecurityDS();
                bSecurity.FillUserMenu(UIDUSER, ds);

                return(ds.RW_USER_MENU.Any(x => x.IDMENU == IDMENU));
            }
        }
示例#20
0
        public ActionResult ModifyRole(int id, String roleName)
        {
            SecurityBusiness securityBusiness = new SecurityBusiness();
            RoleModels       role             = new RoleModels();

            role.Name   = roleName;
            role.IdRole = id;
            securityBusiness.ModifyRole(role);

            return(Json("Exitoso"));
        }
示例#21
0
        public IActionResult UserDetail()
        {
            var id         = SecurityBusiness.IdUser(HttpContext);
            var id_company = SecurityBusiness.IdCompany(HttpContext);

            return(Ok(new {
                id = id,
                companyId = id_company,
                name = User.Identity.Name
            }
                      ));
        }
示例#22
0
        public ActionResult AssignUserRole(int id, int role, String password)
        {
            UserModels user = new UserModels();

            user.Cedula      = id;
            user.Role.IdRole = role;
            user.Password    = password;

            SecurityBusiness securityBusiness = new SecurityBusiness();

            securityBusiness.AssignUserRole(user);

            return(Json("Exitoso"));
        }
 public string VerificaAccount(string account, string password, string ipAddress)
 {
     if (Dominio.ValidaCredenziali(account, password))
     {
         string     token = GeneraToken();
         SecurityDS ds    = new SecurityDS();
         using (SecurityBusiness bSecurity = new SecurityBusiness())
         {
             bSecurity.SaveToken(account, token, TokenValidityInMinutes, ipAddress);
             return(token);
         }
     }
     return(string.Empty);
 }
        public List <RWListItem> FillUtenti()
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.FillUsers(ds);
            }

            List <RWListItem> utenti = (from tp in ds.USR_USER.OrderBy(x => x.FULLNAMEUSER) select new RWListItem(tp.FULLNAMEUSER, tp.UIDUSER)).ToList();

            utenti = utenti.Distinct(new RWListItemComparer()).ToList();
            utenti.Insert(0, new RWListItem(string.Empty, string.Empty));
            return(utenti);
        }
        public void RimuoviAccount(string account)
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.FillAccountMenu(account, ds);

                foreach (SecurityDS.ABILITAZIONIRow row in ds.ABILITAZIONI.ToList())
                {
                    row.Delete();
                }
                bSecurity.SalvaMenuUtente(ds);
                return;
            }
        }
        public bool VerificaAbilitazioneUtente(string controller, string action, string account)
        {
            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                SecurityDS ds = new SecurityDS();
                bSecurity.FillAccountMenu(account, ds);
                bSecurity.FillMenu(ds);

                string             azione = string.Format("/{0}/{1}", controller.ToUpper(), action.ToUpper());
                SecurityDS.MENURow menu   = ds.MENU.Where(x => !x.IsHREFNull() && x.HREF.ToUpper() == azione).FirstOrDefault();
                if (menu == null)
                {
                    return(true);              // non esiste nella tabella manu allora accesso libero
                }
                return(ds.ABILITAZIONI.Any(x => x.IDMENU == menu.IDMENU));
            }
        }
示例#27
0
        public List <TokenLogs> getByCompany()
        {
            var idCompany = SecurityBusiness.IdCompany(HttpContext);

            var logs = (from tokenLog in _csxContext.TokenLogs
                        join token in _csxContext.Tokens
                        on tokenLog.fk_token equals token.id_token
                        where token.fk_company == idCompany

                        select new TokenLogs
            {
                ip = tokenLog.ip,
                http_method = tokenLog.http_method,
                status = tokenLog.status,
                createdat = tokenLog.createdat,
                url_method = tokenLog.url_method
            }
                        ).OrderByDescending(x => x.createdat).ToList();

            return(logs);
        }
        public string VerifyUser(string userID, string password, string ipAddress)
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.FillUsers(ds);


                SecurityDS.USR_USERRow user = ds.USR_USER.Where(x => x.UIDUSER == userID).FirstOrDefault();
                if (user == null)
                {
                    return(null);
                }

                if (user.PWDUSER != password)
                {
                    return(null);
                }

                using (RandomNumberGenerator rng = new RNGCryptoServiceProvider())
                {
                    StringBuilder tokenBuilder = new StringBuilder(TokenLength);
                    Random        randomizer   = new Random();

                    for (int i = 0; i < TokenLength; i++)
                    {
                        int  randomNumber = randomizer.Next(MinRandomPasswordValue, MaxRandomPasswordValue);
                        char ch           = Convert.ToChar(randomNumber);
                        tokenBuilder.Append(ch);
                    }

                    string token = tokenBuilder.ToString();
                    bSecurity.SaveToken(userID, token, TokenValidityInMinutes, ipAddress);
                    return(token);
                }
            }
        }
        public static TokenModel GetTokenModel(string token)
        {
            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                SecurityDS ds = new SecurityDS();

                bSecurity.GetToken(ds, token);
                SecurityDS.RW_TOKENRow t = ds.RW_TOKEN.Where(x => x.TOKEN == token).FirstOrDefault();
                if (t == null)
                {
                    return(null);
                }

                TokenModel tok = new TokenModel()
                {
                    IpAddress = t.IsIPADDRESSNull() ? string.Empty : t.IPADDRESS,
                    Token     = token,
                    User      = t.UIDUSER
                };

                return(tok);
            }
        }
        public void SalvaMenuUtente(string UIDUSER, int[] idMenu)
        {
            SecurityDS ds = new SecurityDS();

            using (SecurityBusiness bSecurity = new SecurityBusiness())
            {
                bSecurity.FillUserMenu(UIDUSER, ds);

                if (idMenu == null)
                {
                    foreach (SecurityDS.RW_USER_MENURow row in ds.RW_USER_MENU.ToList())
                    {
                        row.Delete();
                    }
                    bSecurity.SalvaMenuUtente(ds);
                    return;
                }

                foreach (SecurityDS.RW_USER_MENURow row in ds.RW_USER_MENU.Where(x => !idMenu.Contains((int)x.IDMENU)).ToList())
                {
                    row.Delete();
                }

                foreach (int idm in idMenu)
                {
                    SecurityDS.RW_USER_MENURow row = ds.RW_USER_MENU.Where(x => x.RowState != System.Data.DataRowState.Deleted && x.IDMENU == idm).FirstOrDefault();
                    if (row == null)
                    {
                        SecurityDS.RW_USER_MENURow newrow = ds.RW_USER_MENU.NewRW_USER_MENURow();
                        newrow.IDMENU  = idm;
                        newrow.UIDUSER = UIDUSER;
                        ds.RW_USER_MENU.AddRW_USER_MENURow(newrow);
                    }
                }
                bSecurity.SalvaMenuUtente(ds);
            }
        }