public void testGrandBy_UnixPermissionRequired_Granted() { var user = new SystemUser(); var profile = new SystemProfile(true); var permission = new SystemPermission(user, profile); var admin = new SystemAdmin(); permission.grantBy(admin); Assert.AreEqual(SystemPermission.REQUESTED, permission.State(), "requested"); Assert.AreEqual(false, permission.IsGranted(), "not granted"); permission.claimBy(admin); Assert.AreEqual(SystemPermission.CLAIMED, permission.State(), "claimed"); Assert.AreEqual(false, permission.IsGranted(), "not granted"); permission.grantBy(admin); Assert.AreEqual(SystemPermission.UNIX_REQUESTED, permission.State(), "Unix requested"); Assert.AreEqual(false, permission.IsGranted(), "not granted"); permission.claimBy(admin); Assert.AreEqual(SystemPermission.UNIX_CLAIMED, permission.State(), "Unix Claimed"); Assert.AreEqual(false, permission.IsGranted(), "not granted"); permission.grantBy(admin); Assert.AreEqual(SystemPermission.GRANTED, permission.State(), "granted"); Assert.AreEqual(true, permission.IsGranted(), "granted"); }
public void SetUp() { SystemUser user = new SystemUser(); SystemProfile profile = new SystemProfile(); this._permission = new SystemPermission(user, profile); }
public SystemPermission(SystemUser requestor, SystemProfile profile) { this.requestor = requestor; this.profile = profile; state = REQUESTED; isGranted = false; notifyAdminOfPermissionRequest(); }
/// <summary> /// override method of BaseAction.<br></br> /// </summary> /// <param name="context">input parameter</param> /// <returns>if successful,return the result.</returns> public override BaseActionResult Execute(Context context) { DataSetActionResult result = new DataSetActionResult(); SystemProfile systemProfile = new SystemProfile(); DsProfile ds = systemProfile.Load((context.Model as DsSystemProfileModel).ModuleID); result.Result = true; result.DataSetData = ds; return(result); }
// TODO: Metodo de Teste GetAll private int InsertItem() { var systemProfile = new SystemProfile { Name = "Teste", HasAdmin = true, SystemUsers = null }; return(_systemProfileRepository.Add(systemProfile)); }
private string GetNewReferralID(string domain) { string referralIDLengthName = "ReferralIDLength"; int length = 5; //get length SystemProfile systemProfile = _dbContext.Set <SystemProfile>().Where(s => s.Name == referralIDLengthName).FirstOrDefault(); if (systemProfile != null) { Int32.TryParse(systemProfile.Value, out length); if (length < 1) { length = 5; } } //get prefix DomainList domainList = _dbContext.Set <DomainList>().Where(s => s.DomainName == domain).FirstOrDefault(); string preFix = string.Empty; if (domainList != null && !string.IsNullOrEmpty(domainList.DomainPrefix)) { preFix = domainList.DomainPrefix; } int maxID = -1; using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.Serializable })) { IDMaxValue idMaxValue = _dbContext.Set <IDMaxValue>().Where(s => s.Tag == 4).FirstOrDefault(); if (idMaxValue == null || idMaxValue.Value == null) { return(""); } idMaxValue.Value = idMaxValue.Value + 1; maxID = idMaxValue.Value; _dbContext.SaveChanges(); // SAVE DATA ts.Complete(); } if (maxID != -1) { return(preFix + maxID.ToString().PadLeft(length, '0')); } return(""); }
public void TestClaimedBy() { SystemUser user = new SystemUser(); SystemProfile profile = new SystemProfile(); SystemPermission permission = new SystemPermission(user, profile); Assert.AreEqual(PermissionState.REQUESTED, permission.GetState()); SystemAdmin admin = new SystemAdmin(); permission.ClaimedBy(admin); Assert.AreEqual(PermissionState.CLAIMED, permission.GetState()); Assert.AreEqual(false, permission.IsGranted()); }
//public static readonly string REQUESTED = "REQUESTED"; //public static readonly string CLAIMED = "CLAIMED"; //public static readonly string GRANTED = "GRANTED"; //public static readonly string DENIED = "DENIED"; //// UNIX 权限相关的状态值 //public static readonly string UNIX_REQUESTED = "UNIX_REQUESTED"; //public static readonly string UNIX_CLAIMED = "UNIX_CLAIMED"; public SystemPermission(SystemUser requestor, SystemProfile profile) { Admin = new SystemAdmin(); _requestor = requestor; Profile = profile; if (profile.IsUnixPermissionRequired()) { State = PermissionState.UNIX_REQUESTED; } else { State = PermissionState.REQUESTED; } Granted = false; notifyAdminOfPermissionRequest(); }
public void TestClaimedByWithUnixConcerned() { SystemUser user = new SystemUser(); SystemProfile profile = new SystemProfile(); profile.SetUnixPermissionRequired(true); SystemPermission permission = new SystemPermission(user, profile); Assert.AreEqual(PermissionState.UNIX_REQUESTED, permission.GetState()); SystemAdmin admin = new SystemAdmin(); permission.ClaimedBy(admin); Assert.AreEqual(PermissionState.UNIX_CLAIMED, permission.GetState()); Assert.AreEqual(false, permission.IsGranted()); }
public void testGrandBy_NoUnixPermissionRequired_NoClaimed_Denied() { var user = new SystemUser(); var profile = new SystemProfile(false); var permission = new SystemPermission(user, profile); var admin = new SystemAdmin(); permission.grantBy(admin); Assert.AreEqual(SystemPermission.REQUESTED, permission.State(), "requested"); Assert.AreEqual(false, permission.IsGranted(), "not granted"); permission.deniedBy(admin); Assert.AreEqual(SystemPermission.REQUESTED, permission.State(), "requested"); Assert.AreEqual(false, permission.IsGranted(), "not granted"); }
public SystemPermission(SystemUser requestor, SystemProfile profile) { _admin = new SystemAdmin(); _requestor = requestor; _profile = profile; if (profile.IsUnixPermissionRequired()) { _state = UNIX_REQUESTED; } else { _state = REQUESTED; } _granted = false; notifyAdminOfPermissionRequest(); }
private string GetConfigValue(string name, string site) { SiteProfile siteProfile = _dbContext.Set <SiteProfile>().Where(s => s.Name == name && s.Site == site).FirstOrDefault(); if (siteProfile != null) { return(siteProfile.Value); } SystemProfile systemProfile = _dbContext.Set <SystemProfile>().Where(s => s.Name == name).FirstOrDefault(); if (systemProfile != null) { return(systemProfile.Value); } return(""); }
public IActionResult GetCustomerByIdentification([FromBody] GetPaginatedSearchTerm request) { try { int idUser = 0; idUser = int.Parse(User.Claims.Where(c => c.Type.Equals(ClaimTypes.PrimarySid)).FirstOrDefault().Value); SystemUser systemUser = _unitOfWork.User.GetById(idUser); UserProfile userProfile = _unitOfWork.UserProfile.UserProfileByUser(idUser); SystemProfile systemProfile = _unitOfWork.SystemProfile.GetById(userProfile.IdProfile); int idSalesman = 0; if (systemProfile.ValidateCustomer) { idSalesman = systemUser.IdSalesman; } return(Ok(_unitOfWork.Customer.CustomerByIdentificationNumber(request.SearchTerm, idSalesman, request.Type))); } catch (Exception ex) { return(StatusCode(500, "Internal server error: " + ex.Message)); } }
public void UpdateInvalidCount(string userID, string domain) { var user = _UserRepository.Get(p => p.UniqueID == userID).FirstOrDefault(); if (user != null) { SystemProfile systemProfile = _dbContext.Set <SystemProfile>().Where(s => s.Name == "InvalidLoginMaxCount" && s.Domain == domain).FirstOrDefault(); if (systemProfile != null && systemProfile.Value != "") { int maxCount = 0; int.TryParse(systemProfile.Value, out maxCount); if (maxCount > 0) { //set invalid count if (user.InvalidLoginCount == null) { user.InvalidLoginCount = 1; } else if (user.InvalidLoginCount.HasValue) { user.InvalidLoginCount += 1; } //is lock if (user.InvalidLoginCount >= maxCount) { user.IsLocked = 1; } _UserRepository.SaveChanges(); } } } }
/// <summary> /// add or update online info when login /// </summary> /// <param name="onlineClientDto"></param> /// <returns>0:sucess;1:error, same user login on other location;2:error, max user; 3:same user login in other location 4: can not get license data 5:license expired</returns> public int LoginToOnline(OnlineClientDto onlineClientDto, string isForce, out string message) { message = ""; List <OnlineClient> onlineClientList = _OnlineClientRepository.Get(o => o.MachineIP == onlineClientDto.MachineIP && o.IsOnline == 1).ToList(); foreach (OnlineClient onlineClient in onlineClientList) { //not selfservice login user if ((onlineClient.Comments == null || onlineClient.Comments.ToLower() != "selfservice login user") && string.Compare(onlineClient.UniqueID, onlineClientDto.UniqueID, true) != 0) { //同一台机器上只能允许登陆1次,请退出后再登陆! if (isForce == "0") { UserDto user = GetUserByID(onlineClient.UniqueID); if (user != null) { message = user.LoginName; } return(1); } else { //onlineClient.IsOnline = 0; } } } //get max value string countName = "OnlineUserCheckTimePeriod"; string countValue = null; int currentOnline = 0; SystemProfile systemProfile = null; SiteProfile siteProfile = _dbContext.Set <SiteProfile>().Where(s => s.Name == countName && s.Domain == onlineClientDto.Domain && s.Site == onlineClientDto.Site).FirstOrDefault(); if (siteProfile != null && siteProfile.Value != null) { countValue = siteProfile.Value; currentOnline = _OnlineClientRepository.Get(o => o.IsOnline == 1 && o.Domain == onlineClientDto.Domain && o.Site == onlineClientDto.Site).Count(); } else { systemProfile = _dbContext.Set <SystemProfile>().Where(s => s.Name == countName && s.Domain == onlineClientDto.Domain).FirstOrDefault(); if (systemProfile != null && systemProfile.Value != null) { countValue = systemProfile.Value; currentOnline = _OnlineClientRepository.Get(o => o.IsOnline == 1 && o.Domain == onlineClientDto.Domain).Count(); } } if (countValue != null) { //Max user count reached int profileMaxUserNumber = GetMaxOnlineUserCount(countValue); if (currentOnline >= profileMaxUserNumber) { return(2); } } List <OnlineClient> onlineClientList2 = _OnlineClientRepository.Get(o => o.UniqueID == onlineClientDto.UniqueID && o.IsOnline == 1).ToList(); foreach (OnlineClient onlineClient in onlineClientList2) { //not selfservice login user //if ((onlineClient.Comments == null || onlineClient.Comments.ToLower() != "selfservice login user") // && (string.Compare(onlineClient.MachineIP, onlineClientDto.MachineIP, true) != 0 // || string.Compare(onlineClient.Comments, onlineClientDto.Comments, true) != 0)) if (onlineClient.Comments != null && onlineClient.Comments.ToLower() != "selfservice login user" && string.Compare(onlineClient.MachineIP, onlineClientDto.MachineIP, true) != 0) { //同一用户只能在一个地方登录 if (isForce == "0") { message = onlineClient.MachineName + "&" + onlineClient.MachineIP; return(3); } else { //onlineClient.IsOnline = 0; } } } //clear all offline List <OnlineClient> onlineClientList3 = _OnlineClientRepository.Get(o => o.UniqueID == onlineClientDto.UniqueID && o.IsOnline == 0).ToList(); foreach (OnlineClient onlineClient in onlineClientList3) { _OnlineClientRepository.Delete(onlineClient); } _OnlineClientRepository.SaveChanges(); //add or update online data string webUserFlag = "web login user"; // check web license var webOnline = _OnlineClientRepository.Get(o => o.IsOnline == 1 && o.Domain == onlineClientDto.Domain && o.Comments == webUserFlag).Count(); if (_license.IsSuccessed) { if (_license.IsExpired) { return(5); } if (webOnline >= _license.MaxOnlineUserCount) { return(2); } } else { return(4); } OnlineClient onlineClientOld = _OnlineClientRepository.Get(o => o.UniqueID == onlineClientDto.UniqueID && o.Comments != "selfservice login user").FirstOrDefault(); if (onlineClientOld != null && onlineClientOld.IsOnline == 1) { } else { OnlineClient onlineClientNew = Mapper.Map <OnlineClientDto, OnlineClient>(onlineClientDto); onlineClientNew.RoleName = GetUserDefaultRole(new UserDto { UniqueID = onlineClientDto.UniqueID, Domain = onlineClientDto.Domain }); _OnlineClientRepository.Add(onlineClientNew); _OnlineClientRepository.SaveChanges(); } return(0); }
private SystemProfileBo BuiltSystemProfileBo(SystemProfile systemprofile) { return((SystemProfileBo) new SystemProfileBo().InjectFrom(systemprofile)); }
public Startup(IConfiguration configuration) { Configuration = configuration; //程序启动时注册实体对应Dto的映射关系 SystemProfile.Initialize(); }