private MenuModel CreaMenu(SecurityDS ds, decimal idMenu, List <int> idMenuAbilitati, bool mostratutto)
        {
            SecurityDS.MENURow row = ds.MENU.Where(x => x.IDMENU == idMenu).FirstOrDefault();

            MenuModel padre = new MenuModel();

            padre.IdMenu     = (int)row.IDMENU;
            padre.Etichetta  = row.ETICHETTA;
            padre.HRef       = row.IsHREFNull() ? string.Empty : row.HREF;
            padre.OnClick    = row.IsONCLICKNull() ? string.Empty : row.ONCLICK;
            padre.Font       = row.IsFONTNull() ? string.Empty : row.FONT;
            padre.MenuFiglio = new List <MenuModel>();
            padre.Abilitato  = idMenuAbilitati.Contains(padre.IdMenu) ? true : false;
            padre.Azione     = !row.IsAZIONENull();

            if (mostratutto)
            {
                foreach (SecurityDS.MENURow rowFiglio in ds.MENU.Where(x => !x.IsIDMENUPADRENull() && x.IDMENUPADRE == row.IDMENU).OrderBy(x => x.SEQUENZA))
                {
                    MenuModel figlio = CreaMenu(ds, rowFiglio.IDMENU, idMenuAbilitati, mostratutto);
                    padre.MenuFiglio.Add(figlio);
                }
            }
            else
            {
                foreach (SecurityDS.MENURow rowFiglio in ds.MENU.Where(x => !x.IsIDMENUPADRENull() && x.IDMENUPADRE == row.IDMENU && x.IsAZIONENull()).OrderBy(x => x.SEQUENZA))
                {
                    MenuModel figlio = CreaMenu(ds, rowFiglio.IDMENU, idMenuAbilitati, mostratutto);
                    padre.MenuFiglio.Add(figlio);
                }
            }
            return(padre);
        }
        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);
            }
        }
        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);
        }
Exemplo n.º 4
0
        public void FillMenu(SecurityDS ds)
        {
            string select = @"SELECT * FROM RW_MENU ORDER BY SEQUENZA";

            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.RW_MENU);
            }
        }
Exemplo n.º 5
0
        public void FillUsers(SecurityDS ds)
        {
            string select = @"SELECT * FROM GRUPPO.USR_USER";

            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.USR_USER);
            }
        }
 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 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));
            }
        }
Exemplo n.º 8
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());
            }
        }
        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));
            }
        }
Exemplo n.º 10
0
        public void GetToken(SecurityDS ds, string token)
        {
            string   select = @"SELECT * FROM RW_TOKEN where TOKEN = $P{token}";
            ParamSet ps     = new ParamSet();

            ps.AddParam("token", DbType.String, token);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.RW_TOKEN);
            }
        }
        public void EstraiConfigurazioni(SecurityDS ds, string codice)
        {
            string   select = @"SELECT * FROM CONFIGURAZIONI where CODICE = $P{CODICE}";
            ParamSet ps     = new ParamSet();

            ps.AddParam("CODICE", DbType.String, codice);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.CONFIGURAZIONI);
            }
        }
Exemplo n.º 12
0
        public void FillUserMenu(string UIDUSER, SecurityDS ds)
        {
            string select = @"SELECT * FROM RW_USER_MENU WHERE UIDUSER = $P{UIDUSER}";

            ParamSet ps = new ParamSet();

            ps.AddParam("UIDUSER", DbType.String, UIDUSER);

            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.RW_USER_MENU);
            }
        }
        public void FillAccountMenu(string account, SecurityDS ds)
        {
            string select = @"SELECT * FROM ABILITAZIONI WHERE UTENTE = $P{UTENTE}";

            ParamSet ps = new ParamSet();

            ps.AddParam("UTENTE", DbType.String, account);

            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.ABILITAZIONI);
            }
        }
 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);
 }
Exemplo n.º 15
0
        public void UpdateSecurityDSTable(string tablename, SecurityDS ds)
        {
            string query = string.Format(CultureInfo.InvariantCulture, "SELECT * FROM {0}", tablename);

            using (DbDataAdapter a = BuildDataAdapter(query))
            {
                a.ContinueUpdateOnError = false;
                DataTable        dt  = ds.Tables[tablename];
                DbCommandBuilder cmd = BuildCommandBuilder(a);
                a.UpdateCommand = cmd.GetUpdateCommand();
                a.DeleteCommand = cmd.GetDeleteCommand();
                a.InsertCommand = cmd.GetInsertCommand();
                a.Update(dt);
            }
        }
        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));
            }
        }
        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 account, int[] idMenu)
        {
            SecurityDS ds = new SecurityDS();

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

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

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

                foreach (int idm in idMenu)
                {
                    SecurityDS.ABILITAZIONIRow row = ds.ABILITAZIONI.Where(x => x.RowState != System.Data.DataRowState.Deleted && x.IDMENU == idm).FirstOrDefault();
                    if (row == null)
                    {
                        SecurityDS.ABILITAZIONIRow newrow = ds.ABILITAZIONI.NewABILITAZIONIRow();
                        newrow.IDMENU = idm;
                        newrow.UTENTE = account;
                        ds.ABILITAZIONI.AddABILITAZIONIRow(newrow);
                    }
                }
                bSecurity.SalvaMenuUtente(ds);
            }
        }
        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);
            }
        }
        public List <MenuModel> CreateMenuModel(string UIDUSER)
        {
            SecurityDS ds = new SecurityDS();

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

            List <int> idMenuAbilitati = ds.RW_USER_MENU.Where(x => x.UIDUSER == UIDUSER).Select(x => (int)x.IDMENU).ToList();

            List <MenuModel> menu = new List <MenuModel>();

            foreach (SecurityDS.RW_MENURow row in ds.RW_MENU.Where(x => x.IsIDMENUPADRENull()))
            {
                MenuModel elementoMenu = CreaMenu(ds, row.IDMENU, idMenuAbilitati);
                menu.Add(elementoMenu);
            }



            return(menu);
        }
Exemplo n.º 24
0
        public void EstraiConfigurazioni(SecurityDS ds, string codice)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.EstraiConfigurazioni(ds, codice);
        }
Exemplo n.º 25
0
        public void FillUserMenu(string UIDUSER, SecurityDS ds)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.FillUserMenu(UIDUSER, ds);
        }
Exemplo n.º 26
0
        public void GetToken(SecurityDS ds, string token)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.GetToken(ds, token);
        }
Exemplo n.º 27
0
        public void FillMenu(SecurityDS ds)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.FillMenu(ds);
        }
Exemplo n.º 28
0
        public void FillAccountMenu(string account, SecurityDS ds)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.FillAccountMenu(account, ds);
        }
Exemplo n.º 29
0
        public void SalvaMenuUtente(SecurityDS ds)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.UpdateSecurityDSTable(ds.ABILITAZIONI.TableName, ds);
        }
Exemplo n.º 30
0
        public void SalvaMenuUtente(SecurityDS ds)
        {
            SecurityAdapter a = new SecurityAdapter(DbConnection, DbTransaction);

            a.UpdateSecurityDSTable(ds.RW_USER_MENU.TableName, ds);
        }