public virtual User[] GetUsers(Dictionary<string, string> query)
      {
         List<User> users;

         using (var selectCommand = DatabaseProvider.DbProviderFactory.CreateCommand())
         {
            users = new List<User>();

            InitializeGetUsersCommand(selectCommand, query);

            using (var reader = DatabaseProvider.ExecuteReader(selectCommand))
            {
               User user;

               while (reader.Read())
               {
                  user = new User(reader.GetString(0));

                  user.IsAdmin = (bool)reader["IsAdmin"];
                  user.Expires = reader.GetColumnValue<DateTime>("Expires");
                  user.UseCardReader = reader.GetColumnValue<bool>("UseCardReader");
                  user.FriendlyName = reader.GetColumnValue<string>("FriendlyName");
                  user.UserType = reader.GetColumnValueOrDefault<string>("UserType");
                  var extendedName = reader.GetColumnValueOrDefault<string>("ExtendedName");
                  //resolve to proper format
                  var resolvedName = UserNameResolver.FromDb(user.UserName, extendedName, user.UserType);
                  user.UserName = resolvedName.Item1;
                  user.UserType = resolvedName.Item2;
                  users.Add(user);
               }
            }
         }
         return users.ToArray();         
      }
Exemplo n.º 2
0
        public virtual User [] GetUsers( )
        {
            List <User> users;

            using (var selectCommand = DatabaseProvider.DbProviderFactory.CreateCommand())
            {
                users = new List <User>();

                InitializeGetUsersCommand(selectCommand);

                using (var reader = DatabaseProvider.ExecuteReader(selectCommand))
                {
                    User user;


                    while (reader.Read())
                    {
                        user         = new User(reader.GetColumnValue <string>("UserName"));
                        user.IsAdmin = reader.GetColumnValue <bool>("IsAdmin");
                        var UserType     = reader.GetColumnValueOrDefault <string>("UserType");
                        var extendedName = reader.GetColumnValueOrDefault <string>("ExtendedName");
                        var resolvedName = UserNameResolver.FromDb(user.UserName, extendedName, user.UserType);
                        user.UserName = resolvedName.Item1;
                        users.Add(user);
                    }
                }

                return(users.ToArray());
            }
        }
Exemplo n.º 3
0
        public string IntGetuserType(string userName)
        {
            userName = FromInputUserName(userName);

            try
            {
                object result;

                using (var command = DatabaseProvider.DbProviderFactory.CreateCommand())
                {
                    InitializeIsValidateOnDomainCommand(command, userName);

                    result = DatabaseProvider.ExecuteScalar(command);

                    if (null != result)
                    {
                        var typ = UserNameResolver.DecodeType(result.ToString());
                        return(typ);
                    }
                }
            }
            catch {
            }

            return(null);
        }
Exemplo n.º 4
0
        public UserPermission[] GetAllUserPermissions()
        {
            List <UserPermission> permissions = new List <UserPermission>();

            using (var command = DatabaseProvider.DbProviderFactory.CreateCommand())
            {
                InitializeGetAllUserPermissions(command);
                using (IDataReader reader = DatabaseProvider.ExecuteReader(command))
                {
                    while (reader.Read())
                    {
                        UserPermission up = new UserPermission();

                        up.Permission = reader.GetColumnValue <string>("Permission");
                        up.Username   = reader.GetColumnValue <string>("Username");

                        var userType     = reader.GetColumnValueOrDefault <string>("UserType");
                        var extendedName = reader.GetColumnValueOrDefault <string>("ExtendedName");
                        //resolve to proper format
                        var resolvedName = UserNameResolver.FromDb(up.Username, extendedName, userType);
                        up.Username = resolvedName.Item1;

                        permissions.Add(up);
                    }
                }
            }

            return(permissions.ToArray());
        }
      public bool AddUser(string userName, string friendlyName, SecureString password, DateTime? expireDate, string userType)
      {
         Exception _e = null;

         try
         {
            using (var command = DatabaseProvider.DbProviderFactory.CreateCommand())
            {
               var resolvedName = UserNameResolver.ToDb(userName, userType);
               InitializeGenericAddUserCommandExt(command, resolvedName.Item1, resolvedName.Item2, friendlyName, GetHashedPassword(password), expireDate, resolvedName.Item3);
               return (DatabaseProvider.ExecuteNonQuery(command) > 0);
            }
         }
         catch (Exception e)
         {
            //might fail for older schema databases, we fall through for backward compatibility 
            _e = e;
         }

         try
         {
            using (var command = DatabaseProvider.DbProviderFactory.CreateCommand())
            {
               InitializeGenericAddUserCommand(command, userName, friendlyName, GetHashedPassword(password), expireDate, string.IsNullOrEmpty(userType) ? UserType.Classic : userType);
               return (DatabaseProvider.ExecuteNonQuery(command) > 0);
            }
         }
         catch (Exception e)
         {
            //might fail for older schema databases, we fall through for backward compatibility 
            _e = e;
         }

         if (string.IsNullOrEmpty(userType) || userType == UserType.Classic)
         {
            return base.AddUser(userName, friendlyName, password, expireDate, false);
         }
         else if (userType == UserType.SmartCard)
         {
            return base.AddUser(userName, friendlyName, password, expireDate, true);
         }
         else
         {
            throw _e;
         }
      }
Exemplo n.º 6
0
 //all interface methods implementations that receive a userName should call this function
 public virtual string FromInputUserName(string userName)
 {
     return(UserNameResolver.ToDb(userName, string.Empty).Item1);
 }