public static int createDefaultAdminUser(this TM_UserData userData) { try { //var tmServer = userData.tmServer(); if (userData.isNull()) { return(-1); } //if(userData.tmServer().Users_Create_Default_Admin.isFalse()) // return -1; var tmConfig = TMConfig.Current; lock (tmConfig) { var defaultAdminUser_Name = tmConfig.TMSecurity.Default_AdminUserName; var defaultAdminUser_Pwd = tmConfig.TMSecurity.Default_AdminPassword; var defaultAdminUser_Email = tmConfig.TMSecurity.Default_AdminEmail; var adminUser = userData.tmUser(defaultAdminUser_Name); if (adminUser.notNull()) { if (adminUser.SecretData.PasswordHash.notValid() || tmConfig.OnInstallation.ForceDefaultAdminPassword) { "[createDefaultAdminUser] reseting password since passwordHash was not valid and ForceDefaultAdminPassword was set".error(); adminUser.SecretData.PasswordHash = adminUser.createPasswordHash(defaultAdminUser_Pwd); adminUser.event_User_Updated(); //adminUser.saveTmUser(); } if (adminUser.GroupID != (int)UserGroup.Admin) { "[createDefaultAdminUser] admin user was not admin (changed to admin)".error(); adminUser.GroupID = (int)UserGroup.Admin; adminUser.event_User_Updated(); //adminUser.saveTmUser(); } return(adminUser.UserID); } "[createDefaultAdminUser] admin user didn't exist (creating it)".debug(); var userId = userData.newUser(defaultAdminUser_Name, defaultAdminUser_Pwd, defaultAdminUser_Email, 1); adminUser = userId.tmUser(); adminUser.AccountStatus.ExpirationDate = DateTime.Now.AddYears(10); // default to setting the expiry value to 10 years in the future adminUser.event_User_Updated(); //adminUser.saveTmUser(); return(userId); } } catch (Exception ex) { ex.log("[TM_UserData][createDefaultAdminUser]"); return(-1); } }
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) { if (userData.isNull()) { return(-1); } 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 = username, FirstName = firstname, LastName = lastname, Company = (company), Country = country, State = state, GroupID = groupId, Title = title, EMail = email ?? "", UserTags = userTags }; var tmConfig = TMConfig.Current; tmUser.AccountStatus.UserEnabled = tmConfig.newAccountsEnabled(); tmUser.AccountStatus.ExpirationDate = tmConfig.currentExpirationDate(); tmUser.SecretData.PasswordHash = tmUser.createPasswordHash(password); userData.TMUsers.Add(tmUser); if (TMConfig.Current.windowsAuthentication_Enabled().isFalse()) { SendEmails.SendNewUserEmails("New user created: {0}".format(tmUser.UserName), tmUser); } tmUser.logUserActivity("New User", ""); // this will trigger tmUser.event_User_Updated(); //tmUser.event_User_Updated(); //tmUser.saveTmUser(); //userData.triggerGitCommit(); return(userId); }