Example #1
0
        internal override void DeleteRoles(string user, DbProviderFactory factory, DbConnection connection)
        {
            DbCommand     command = DatabaseBase.GetCommand(connection);
            List <string> strs    = new List <string>();

            string[] database = new string[] { "SELECT sysusers1.name AS [role] FROM dbo.sysmembers sysmembers INNER JOIN dbo.sysusers sysusers1 ON sysmembers.groupuid = sysusers1.uid inner join ", connection.Database, "..sysusers sysusers2 ON sysmembers.memberuid = sysusers2.uid WHERE sysusers2.name = '", user, "'" };
            using (DbDataReader dbDataReaders = base.ExecuteReader(string.Concat(database), command))
            {
                while (dbDataReaders.Read())
                {
                    strs.Add(dbDataReaders.GetString(0));
                }
            }
            foreach (string str in strs)
            {
                try
                {
                    string[] strArrays = new string[] { "sp_droprolemember '", str, "','", user, "'" };
                    base.ExecuteNoneQuery(string.Concat(strArrays), command);
                }
                catch (Exception exception)
                {
                    throw exception;
                }
            }
        }
Example #2
0
        internal void RemoveUser(DBInfoDTO dmInfoDto, string user, bool all)
        {
            DbProviderFactory providerFactory = this.GetProviderFactory();

            using (DbConnection connectionString = providerFactory.CreateConnection())
            {
                connectionString.ConnectionString = this.GetConnectionString(dmInfoDto);
                connectionString.Open();
                this.DeleteUser(user, dmInfoDto, providerFactory, DatabaseBase.GetCommand(connectionString));
            }
        }
Example #3
0
        internal override void AddUserInDB(string user, string password, string[] roles, DbProviderFactory factory, DbConnection connection)
        {
            DbCommand command = DatabaseBase.GetCommand(connection);

            try
            {
                base.ExecuteNoneQuery(string.Format("sp_addlogin '{0}', '{1}'", user, password), command);
            }
            catch (SqlException sqlException)
            {
                if (sqlException.Number != 15025)
                {
                    throw;
                }
            }
            string serverVersion = connection.ServerVersion;

            try
            {
                serverVersion.CompareTo("09.00.00.0");
            }
            catch (SqlException sqlException1)
            {
                throw sqlException1;
            }
            try
            {
                base.ExecuteNoneQuery(string.Format("sp_adduser '{0}'", user), command);
            }
            catch (SqlException sqlException2)
            {
                if (sqlException2.Number != 15023)
                {
                    throw;
                }
            }
            if (roles != null)
            {
                string[] strArrays = roles;
                for (int i = 0; i < (int)strArrays.Length; i++)
                {
                    string str = strArrays[i];
                    if (string.Compare(str, "public", true) != 0)
                    {
                        base.ExecuteNoneQuery(string.Format("sp_addrolemember '{0}', '{1}'", str, user), command);
                    }
                }
            }
            base.ExecuteNoneQuery(string.Format("sp_password null,'{0}','{1}'", password, user), command);
        }
Example #4
0
 internal void RemoveLogin(DBInfoDTO dmInfoDto, string user)
 {
     try
     {
         DbProviderFactory providerFactory = this.GetProviderFactory();
         using (DbConnection connectionString = providerFactory.CreateConnection())
         {
             connectionString.ConnectionString = this.GetConnectionString(dmInfoDto);
             connectionString.Open();
             this.Kill(user, connectionString);
             this.DeleteLogin(user, dmInfoDto, providerFactory, DatabaseBase.GetCommand(connectionString));
         }
     }
     catch
     {
     }
 }