コード例 #1
0
        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);
        }
コード例 #2
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);
        }
コード例 #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);
        }
コード例 #4
0
 [Admin]         public static TMUser        set_PostLoginScript(this TMUser tmUser, string postLoginScript)
 {
     if (tmUser.notNull())
     {
         tmUser.PostLoginScript = postLoginScript;
         tmUser.saveTmUser();
     }
     return(tmUser);
 }
コード例 #5
0
 [Admin]         public static TMUser        set_PostLoginView(this TMUser tmUser, string postLoginView)
 {
     if (tmUser.notNull())
     {
         tmUser.PostLoginView = postLoginView;
         tmUser.saveTmUser();
     }
     return(tmUser);
 }
コード例 #6
0
 public UserActivity LogUserActivity(TMUser tmUser, UserActivity userActivity)
 {
     if (tmUser.notNull() && tmUser.ID != Guid.Empty)
     {
         tmUser.UserActivities.Add(userActivity);
         tmUser.saveTmUser();
     }
     ActivitiesLog.Add(userActivity);
     return(userActivity);
 }
コード例 #7
0
ファイル: UserActivities.cs プロジェクト: sarvaje/Master
 public UserActivity LogUserActivity(TMUser tmUser , UserActivity userActivity)
 {
     if (tmUser.notNull() && tmUser.ID != Guid.Empty)
     {
         tmUser.UserActivities.Add(userActivity);
         tmUser.saveTmUser();
     }
     ActivitiesLog.Add(userActivity);
     return userActivity;
 }
コード例 #8
0
 public static Guid      passwordResetToken_getTokenAndSetHash(this TMUser tmUser)
 {
     if (tmUser.notNull())
     {
         var newToken = Guid.NewGuid();
         tmUser.SecretData.PasswordResetToken = tmUser.passwordResetToken_getHash(newToken);
         tmUser.saveTmUser();
         return(newToken);
     }
     return(Guid.Empty);
 }
コード例 #9
0
 public static bool          setPasswordHash(this TMUser tmUser, string passwordHash)
 {
     if (tmUser.notNull() && passwordHash.valid())
     {
         tmUser.SecretData.PasswordHash       = passwordHash;
         tmUser.AccountStatus.PasswordExpired = false;
         tmUser.saveTmUser();
         return(true);
     }
     return(false);
 }
コード例 #10
0
 public static bool          setPassword(this TMUser tmUser, string password)
 {
     if (tmUser.notNull())
     {
         tmUser.SecretData.PasswordHash       = tmUser.createPasswordHash(password);
         tmUser.AccountStatus.PasswordExpired = false;
         tmUser.saveTmUser();
         tmUser.logUserActivity("Password Change", tmUser.UserName);
         return(true);
     }
     return(false);
 }
コード例 #11
0
 /*public static UserActivity logUserActivity  (this UserActivities userActivities, string who, string action, string detail)
  * {
  *  var userActivity = userActivities.newUserActivity(who,action,detail);
  *  return userActivities.logUserActivity(userActivity, null);
  * } */
 public static UserActivity logUserActivity(this UserActivities userActivities, UserActivity userActivity, TMUser tmUser)
 {
     if (userActivities.notNull() && userActivity.notNull())
     {
         userActivities.ActivitiesLog.Add(userActivity);
         userActivity.firebase_Log();
         if (tmUser.notNull() && tmUser.ID != Guid.Empty)
         {
             tmUser.UserActivities.Add(userActivity);
             tmUser.saveTmUser();
         }
     }
     return(userActivity);
 }
コード例 #12
0
        public static int           newUser(this TM_UserData userData, string username, string password, string email, string firstname, string lastname, string note, string title, string company, string country, string state, int groupId)
        {
            var userId = Guid.NewGuid().hash();  //10000000.random();//10.randomNumbers().toInt();

            if (userId < 0)                      // find a .net that does this (maybe called 'invert')
            {
                userId = -userId;
            }
            "Creating new user: {0} with id {1}".debug(username, userId);

            if (groupId < 1)                                    //set default user type
            {
                groupId = 2;                                    //by default new users are of type 2 (i.e. Reader)
            }
            else
            {
                UserRole.ManageUsers.demand();  // only users with UserRole.ManageUsers should be able to create non-default users
            }
            var tmUser = new TMUser {
                UserID    = userId,
                UserName  = Encoder.XmlEncode(username),
                FirstName = Encoder.XmlEncode(firstname),
                LastName  = Encoder.XmlEncode(lastname),
                Company   = Encoder.XmlEncode(company),
                Country   = Encoder.XmlEncode(country),
                State     = Encoder.XmlEncode(state),
                GroupID   = groupId,
                Title     = Encoder.XmlEncode(title),
                EMail     = Encoder.XmlEncode(email) ?? "",
            };

            tmUser.SecretData.PasswordHash = tmUser.createPasswordHash(password);
            userData.TMUsers.Add(tmUser);

            //save it
            tmUser.email_NewUser_Welcome();
            tmUser.saveTmUser();

            return(userId);
        }
コード例 #13
0
        public static int           newUser(this TM_UserData userData, string username, string password, string email, string firstname, string lastname, string note, string title, string company, string country, string state, List <UserTag> userTags, int groupId)
        {
            var userId = Math.Abs(Guid.NewGuid().hash());

            "Creating new user: {0} with id {1}".debug(username, userId);

            if (groupId < 1)                                    //set default user type
            {
                groupId = 2;                                    //by default new users are of type 2 (i.e. Reader)
            }
            else
            {
                UserRole.ManageUsers.demand();  // only users with UserRole.ManageUsers should be able to create non-default users
            }
            var tmUser = new TMUser {
                UserID    = userId,
                UserName  = Encoder.XmlEncode(username),
                FirstName = Encoder.XmlEncode(firstname),
                LastName  = Encoder.XmlEncode(lastname),
                Company   = Encoder.XmlEncode(company),
                Country   = Encoder.XmlEncode(country),
                State     = Encoder.XmlEncode(state),
                GroupID   = groupId,
                Title     = Encoder.XmlEncode(title),
                EMail     = Encoder.XmlEncode(email) ?? "",
                UserTags  = userTags
            };

            tmUser.SecretData.PasswordHash = tmUser.createPasswordHash(password);
            userData.TMUsers.Add(tmUser);

            if (TMConfig.Current.windowsAuth().isFalse())
            {
                SendEmails.SendNewUserEmails("New user created: {0}".format(tmUser.UserName), tmUser);
            }
            tmUser.logUserActivity("New User", "");
            tmUser.saveTmUser();

            return(userId);
        }
コード例 #14
0
ファイル: TM_UserData_Ex_Users.cs プロジェクト: roman87/Dev
        public static int newUser(this TM_UserData userData, string  username, string password, string email, string firstname, string lastname, string note , string title, string company, string country, string state, int groupId)
        {
            var userId = Guid.NewGuid().hash();  //10000000.random();//10.randomNumbers().toInt();
            if (userId < 0)						// find a .net that does this (maybe called 'invert')
                userId = -userId;
            "Creating new user: {0} with id {1}".debug(username, userId);

            if (groupId <1)						//set default user type
                groupId = 2;					//by default new users are of type 2 (i.e. Reader)
            else
                UserRole.ManageUsers.demand();	// only users with UserRole.ManageUsers should be able to create non-default users

            var tmUser = new TMUser {
                UserID 		 = userId,
                UserName 	 = Encoder.XmlEncode(username),
                FirstName 	 = Encoder.XmlEncode(firstname),
                LastName 	 = Encoder.XmlEncode(lastname),
                Company 	 = Encoder.XmlEncode(company),
                Country 	 = Encoder.XmlEncode(country),
                State 	     = Encoder.XmlEncode(state),
                GroupID 	 = groupId,
                Title 		 = Encoder.XmlEncode(title),
                EMail 		 = Encoder.XmlEncode(email) ?? "",
            };
            tmUser.SecretData.PasswordHash = tmUser.createPasswordHash(password);
            userData.TMUsers.Add(tmUser);

            //save it
            tmUser.email_NewUser_Welcome();
            tmUser.saveTmUser();

            return userId;
        }
コード例 #15
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);
 }