public static UserAccessRules GetUserRights(UserAccessRights accessLevel) { var rules = new UserAccessRules(); switch (accessLevel) { case UserAccessRights.Technician: rules.AllowAction(UserActions.InspectDevices); rules.AllowAction(UserActions.AddDevice); rules.AllowAction(UserActions.RemoveDevice); rules.AllowAction(UserActions.InspectCertificates); break; case UserAccessRights.Administrator: rules.AllowAction(UserActions.InspectDevices); rules.AllowAction(UserActions.AddDevice); rules.AllowAction(UserActions.RemoveDevice); rules.AllowAction(UserActions.InspectCertificates); rules.AllowAction(UserActions.InspectUsers); break; case UserAccessRights.Superuser: rules.AllowEverything(); break; } return(rules); }
public User(string firstName, string lastName, string email, string agency, string password, string salt, string application, string role, string adminToken, UserAccessRules userAccessRules, object additional) { Email = email.ToLowerInvariant(); First = firstName; Last = lastName; Agency = agency; Password = password; Salt = salt; Application = application; Role = role == null ? "" : role.ToLowerInvariant(); Approved = false; Active = true; Token = Guid.NewGuid(); ExpirationDateTicks = DateTime.UtcNow.AddMonths(1).Ticks; AdminToken = adminToken; UserId = Guid.NewGuid(); AccessRules = userAccessRules ?? new UserAccessRules(); AdditionalSerialized = Newtonsoft.Json.JsonConvert.SerializeObject(additional); }