示例#1
0
        public static bool          updateTmUser(this TMUser tmUser, string userName, string firstname, string lastname, string title, string company, string email, string country, string state, DateTime accountExpiration, bool passwordExpired, bool userEnabled, int groupId)
        {
            if (tmUser.isNull())
            {
                return(false);
            }
            if (tmUser.UserName == userName)
            {
                tmUser.EMail     = Encoder.XmlEncode(email);
                tmUser.UserName  = Encoder.XmlEncode(userName);
                tmUser.FirstName = Encoder.XmlEncode(firstname);
                tmUser.LastName  = Encoder.XmlEncode(lastname);
                tmUser.Title     = Encoder.XmlEncode(title);
                tmUser.Company   = Encoder.XmlEncode(company);
                tmUser.Country   = Encoder.XmlEncode(country);
                tmUser.State     = Encoder.XmlEncode(state);
                tmUser.GroupID   = groupId > -1 ? groupId : tmUser.GroupID;
                tmUser.AccountStatus.ExpirationDate  = accountExpiration;
                tmUser.AccountStatus.PasswordExpired = passwordExpired;
                tmUser.AccountStatus.UserEnabled     = userEnabled;
                tmUser.saveTmUser();
                return(true);
            }

            "[updateTmUser] provided username didn't match provided tmUser".error();
            return(false);
        }
        public static bool          updateTmUser(this TMUser tmUser, TM_User userViewModel)
        {
            if (tmUser.isNull() || userViewModel.validation_Failed())
            {
                return(false);
            }

            if (tmUser.UserName == userViewModel.UserName)
            {
                tmUser.EMail     = Encoder.XmlEncode(userViewModel.Email);
                tmUser.UserName  = Encoder.XmlEncode(userViewModel.UserName);
                tmUser.FirstName = Encoder.XmlEncode(userViewModel.FirstName);
                tmUser.LastName  = Encoder.XmlEncode(userViewModel.LastName);
                tmUser.Title     = Encoder.XmlEncode(userViewModel.Title);
                tmUser.Company   = Encoder.XmlEncode(userViewModel.Company);
                tmUser.Country   = Encoder.XmlEncode(userViewModel.Country);
                tmUser.State     = Encoder.XmlEncode(userViewModel.State);
                tmUser.GroupID   = userViewModel.GroupID > -1 ? userViewModel.GroupID : tmUser.GroupID;
                tmUser.AccountStatus.ExpirationDate  = userViewModel.ExpirationDate;
                tmUser.AccountStatus.PasswordExpired = userViewModel.PasswordExpired;
                tmUser.AccountStatus.UserEnabled     = userViewModel.UserEnabled;

                tmUser.saveTmUser();

                return(true);
            }

            "[updateTmUser] provided username didn't match provided tmUser or validation failed".error();
            return(false);
        }
示例#3
0
        public static bool          updateTmUser(this TMUser tmUser, TM_User user)
        {
            if (tmUser.isNull())
            {
                return(false);
            }
            if (tmUser.UserName == user.UserName)
            {
                tmUser.EMail     = user.Email;        //Encoder.XmlEncode(user.Email);    // these encodings should now be enfored on TBOT (and the user does not see them)
                tmUser.UserName  = user.UserName;     //Encoder.XmlEncode(user.UserName); // they were causing double encoding isues on the new TBOT editor
                tmUser.FirstName = user.FirstName;    //Encoder.XmlEncode(user.FirstName);
                tmUser.LastName  = user.LastName;     //Encoder.XmlEncode(user.LastName);
                tmUser.Title     = user.Title;        //Encoder.XmlEncode(user.Title);
                tmUser.Company   = user.Company;      //Encoder.XmlEncode(user.Company);
                tmUser.Country   = user.Country;      //Encoder.XmlEncode(user.Country);
                tmUser.State     = user.State;        //Encoder.XmlEncode(user.State);
                tmUser.UserTags  = user.UserTags;
                tmUser.GroupID   = user.GroupID > -1 ? user.GroupID : tmUser.GroupID;
                tmUser.AccountStatus.ExpirationDate      = user.ExpirationDate;
                tmUser.AccountStatus.PasswordExpired     = user.PasswordExpired;
                tmUser.AccountStatus.UserEnabled         = user.UserEnabled;
                tmUser.AccountStatus.AccountNeverExpires = user.AccountNeverExpires;
                tmUser.saveTmUser();

                tmUser.logUserActivity("User Updated", ""); // so that we don't get this log entry on new user creation

                return(true);
            }

            "[updateTmUser] provided username didn't match provided tmUser".error();
            return(false);
        }
 public static bool      password_Expired(this TMUser tmUser)
 {
     if (tmUser.isNull())
     {
         return(true);
     }
     return(tmUser.AccountStatus.PasswordExpired);
 }
示例#5
0
 public static bool          setPassword(this TMUser tmUser, string password)
 {
     if (tmUser.isNull() || password.notValid())
     {
         return(false);
     }
     tmUser.logUserActivity("Password Change", "Direct change (by an admin)");
     return(setPasswordHash(tmUser, tmUser.createPasswordHash(password)));
 }
示例#6
0
 public static bool      account_Expired(this TMUser tmUser)
 {
     if (tmUser.isNull())
     {
         return(true);
     }
     if (tmUser.AccountStatus.ExpirationDate == default(DateTime))   // if this ExpirationDate is not set, the user account is NOT expired
     {
         return(false);
     }
     return(tmUser.AccountStatus.ExpirationDate < DateTime.Now);      // if it is set, check if value is bigger than now
 }
示例#7
0
        public static bool              remove_Session(this TMUser tmUser, Guid sessionID)
        {
            if (tmUser.isNull())
            {
                return(false);
            }
            var currentSessions = tmUser.currentSessions();

            if (currentSessions.hasKey(sessionID))
            {
                var sessionToRemove = currentSessions[sessionID];
                tmUser.Sessions.Remove(sessionToRemove);
                return(true);
            }
            "[remove_Session] was not able to find session object {0} for user {1}".error(sessionID, tmUser.UserName);
            return(false);
        }
示例#8
0
 public WhoAmI(TMUser tmUser)
 {
     if (tmUser.isNull())
     {
         UserName  = "";
         UserId    = -1;
         GroupId   = 0;
         GroupName = "Anonymous";
         UserRoles = "";
     }
     else
     {
         UserName  = tmUser.UserName;
         UserId    = tmUser.UserID;
         GroupId   = tmUser.GroupID;
         GroupName = tmUser.userGroup().str();
         UserRoles = tmUser.userRoles().toStringArray().toList().join(",");
     }
 }
示例#9
0
        public static TM_User user(this TMUser tmUser)
        {
            if (tmUser.isNull())
            {
                return(null);
            }
            var user = new TM_User
            {
                Company    = tmUser.Company,
                Email      = tmUser.EMail,
                FirstName  = tmUser.FirstName,
                LastName   = tmUser.LastName,
                Title      = tmUser.Title,
                Country    = tmUser.Country,
                State      = tmUser.State,
                UserId     = tmUser.UserID,
                UserName   = tmUser.UserName,
                CSRF_Token = tmUser.SecretData.CSRF_Token,
                GroupID    = tmUser.GroupID,
                UserTags   = tmUser.UserTags
            };

            try
            {
                user.ExpirationDate  = tmUser.AccountStatus.ExpirationDate;
                user.PasswordExpired = tmUser.AccountStatus.PasswordExpired;
                user.CreatedDate     = (tmUser.Stats.CreationDate) != default(DateTime)
                                            ? tmUser.Stats.CreationDate.ToFileTimeUtc()
                                            : 0;
                user.UserEnabled         = tmUser.AccountStatus.UserEnabled;
                user.AccountNeverExpires = tmUser.AccountStatus.AccountNeverExpires;
            }
            catch (Exception ex)
            {
                ex.log();
                "[TMUser] user(), failed to convert user {0} with id {1}".format(tmUser.UserName, tmUser.UserID);
            }
            return(user);
        }
示例#10
0
文件: SingleSignOn.cs 项目: sempf/Dev
 public string getSSOTokenForUser(TMUser tmUser)
 {
     if (tmUser.isNull())
         return null;
     if (tmUser.SSOKey.isGuid().isFalse())
         tmUser.SSOKey = Guid.NewGuid().str();
     tmUser.saveTmUser();
     return MachineKey.Encode(tmUser.serialize(false).asciiBytes(),MachineKeyProtection.All);
 }