public void SetUp() { InitializeDataSets(); MockRepository = new Mock <IRepository>(); MockGroupService = new Mock <IGroupService>(); MockUserService = new Mock <IUserService>(); MockRoleService = new Mock <IRoleService>(); MockRepository.Setup(m => m.GetSet <User>()).Returns(() => UserSet); MockRepository.Setup(m => m.GetSet <Group>()).Returns(() => GroupSet); MockRepository.Setup(m => m.GetSet <Role>()).Returns(() => RoleSet); MockRepository.Setup(m => m.GetSet <Project>()).Returns(() => ProjectSet); MockRepository.Setup(m => m.GetSet <ProjectUser>()).Returns(() => ProjectUserSet); MockRepository.Setup(m => m.GetSet <ProjectRole>()).Returns(() => ProjectRoleSet); MockRepository.Setup(m => m.GetSet <ProjectGroup>()).Returns(() => ProjectGroupSet); MockRepository.Setup(m => m.GetSet <ProjectUserRole>()).Returns(() => ProjectUserRoleSet); MockUserService.Setup(m => m.FindUser(1)).Returns(() => UserSet.FirstOrDefault(u => u.Id == 1)); MockUserService.Setup(m => m.FindUser(2)).Returns(() => UserSet.FirstOrDefault(u => u.Id == 2)); MockUserService.Setup(m => m.FindUser(3)).Throws <NotFoundException>(); MockRoleService.Setup(m => m.FindRole(1)).Returns(() => RoleSet.First(r => r.Id == 1)); MockRoleService.Setup(m => m.FindRole(2)).Returns(() => RoleSet.First(r => r.Id == 2)); MockRoleService.Setup(m => m.FindRole(3)).Throws <NotFoundException>(); MockGroupService.Setup(m => m.FindGroup(1)).Returns(() => GroupSet.First(g => g.Id == 1)); MockGroupService.Setup(m => m.FindGroup(2)).Returns(() => GroupSet.First(g => g.Id == 2)); MockGroupService.Setup(m => m.FindGroup(3)).Throws <NotFoundException>(); }
public async Task CreateAsync(TRole role) { CallContext cctx = _cctx.CreateCopy(); RoleServiceProxy rsvc = new RoleServiceProxy(); try { Role last = null; string rolename = role.Name; var find = await findRoleAsync(rolename); if (find == null || find.Item1 == null) { int lev = -1; string[] rolepath = rolename.Trim('.').Split('.'); if (find != null && find.Item2 != null) { lev = 0; var x = find.Item2; while (x.UpperRef != null) { lev++; x = x.UpperRef; } } RoleSet rs = new RoleSet(); last = (find == null || find.Item2 == null) ? null : find.Item2; for (int i = lev + 1; i < rolepath.Length; i++) { Role r = new Role(); r.ApplicationID = app.ID; r.RoleName = rolepath[i]; r.DisplayName = rolepath[i]; r.Description = ""; r.ParentID = last == null ? default(int?) : last.ID; var _r = await rsvc.AddOrUpdateEntitiesAsync(cctx, rs, new Role[] { r }); r = _r.ChangedEntities[0].UpdatedItem; last = r; } role.UpdateInstance(last); } else { role.UpdateInstance(find.Item1); } } catch (Exception e) { if (WriteExceptionsToEventLog) { WriteToEventLog(e, "CreateRole"); } throw getException("cb5e100e5a9a3e7f6d1fd97512215283", "error", e); } finally { } }
internal Role(string roleGroupName, RoleSet roleGroupSet, string roleName, RoleSet roleSet, string roleEntryName, string roleEntryParameter, RoleEntryType roleEntryType) : this(roleName, roleSet, roleEntryName, roleEntryParameter, roleEntryType) { if (string.IsNullOrEmpty(roleGroupName)) { throw new ArgumentException("roleGroupName"); } this.RoleGroupName = roleGroupName; this.RoleGroupSet = roleGroupSet; }
private void BuildFromConfig(RoleSet roles) { _redistributionNodes = roles.Roles?.Select(e => new RedistributionNode(e, _repositorystoragepath)).ToArray(); foreach (var node in _redistributionNodes) { node.TraceEvent += OnLogEvent; node.ErrorEvent += OnErrorEvent; } }
public void InvokeUpdateRoles(CommandId servercommantrId, RoleSet servercommantrRoles, IPAddress ip) { lock (_requeststatemutex) { requeststate = new Tuple <CommandId, RoleSet, IPAddress>(servercommantrId, servercommantrRoles, ip); if (!taskinprogress) { Task.Run(() => UpdateRoles()); } } }
public static string GetManagedRoles(string adminId, string set, string qexpr, string prevlast) { JavaScriptSerializer jser = new JavaScriptSerializer(); dynamic sobj = jser.DeserializeObject(set) as dynamic; EntitySetType type; if (Enum.TryParse <EntitySetType>(sobj["set"], out type)) { switch (type) { case EntitySetType.Role: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(Role)); var ser3 = new JavaScriptSerializer(); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; RoleServiceProxy svc = new RoleServiceProxy(); RoleSet _set = new RoleSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } Role _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as Role; } var result = svc.GetPageItems(Cntx, _set, _qexpr, _prevlast); var ar = new List <dynamic>(); string appId = ApplicationContext.App.ID; foreach (var e in result) { ar.Add(new { data = e }); } string json = ser3.Serialize(ar); return(json); } } } return(null); }
public void SetUp() { var userList = new List <User>(); userList.Add(new User() { Id = 1, Name = "User1", Password = "******" }); userList.Add(new User() { Id = 2, Name = "User2", Password = "******" }); UserSet = userList; var roleList = new List <Role>(); roleList.Add(new Role() { Id = 1, Name = "Role1", Description = "Any1" }); roleList.Add(new Role() { Id = 2, Name = "Role2", Description = "Any2" }); RoleSet = roleList; var groupList = new List <Group>(); groupList.Add(new Group() { Id = 1, Name = "Group1" }); groupList.Add(new Group() { Id = 2, Name = "Group2" }); GroupSet = groupList; MockTransaction = new Mock <ITransaction>(); MockRepository = new Mock <IRepository>(); MockRepository.Setup(repo => repo.BeginTransaction()).Returns(() => Transaction); MockUserService = new Mock <IUserService>(); MockUserService.Setup(u => u.FindUser(1)).Returns(() => UserSet.First(u => u.Id == 1)); MockUserService.Setup(u => u.FindUser(2)).Returns(() => UserSet.First(u => u.Id == 2)); MockRoleService = new Mock <IRoleService>(); MockRoleService.Setup(r => r.FindRole(1)).Returns(() => RoleSet.First(r => r.Id == 1)); MockRoleService.Setup(r => r.FindRole(2)).Returns(() => RoleSet.First(r => r.Id == 2)); MockRepository.Setup(repo => repo.GetSet <Group>()).Returns(() => GroupSet); }
public void TestUpdateRole() { MockRepository.Setup(repo => repo.Update <Role>(It.IsAny <Role>())).Returns(() => RoleSet.First(r => r.Id == 1)); var role = RoleService.UpdateRole(1, "Role3", "Any"); Assert.AreEqual(1, role.Id); Assert.AreEqual("Role3", role.Name); }
public async Task <string> GetPageItems(string sourceId, string set, string qexpr, string prevlast) { JavaScriptSerializer jser = new JavaScriptSerializer(); dynamic sobj = jser.DeserializeObject(set) as dynamic; EntitySetType type; if (Enum.TryParse <EntitySetType>(sobj["set"], out type)) { switch (type) { case EntitySetType.User: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(User)); var ser3 = new JavaScriptSerializer(); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; UserServiceProxy svc = new UserServiceProxy(); UserSet _set = new UserSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } User _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as User; } var result = await svc.GetPageItemsAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); var ar = new List <dynamic>(); foreach (var e in result) { ar.Add(new { Id = e.ID.ToString(), DistinctString = e.DistinctString }); } string json = ser3.Serialize(ar); return(json); } case EntitySetType.Role: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(Role)); var ser3 = new JavaScriptSerializer(); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; RoleServiceProxy svc = new RoleServiceProxy(); RoleSet _set = new RoleSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } Role _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as Role; } var result = await svc.GetPageItemsAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); var ar = new List <dynamic>(); foreach (var e in result) { ar.Add(new { Id = e.ID.ToString(), DistinctString = e.DistinctString }); } string json = ser3.Serialize(ar); return(json); } case EntitySetType.MemberNotification: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(MemberNotification)); var ser3 = new JavaScriptSerializer(); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; MemberNotificationServiceProxy svc = new MemberNotificationServiceProxy(); MemberNotificationSet _set = new MemberNotificationSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } MemberNotification _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as MemberNotification; } var result = await svc.GetPageItemsAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); var ar = new List <dynamic>(); foreach (var e in result) { ar.Add(new { Id = e.ID.ToString(), DistinctString = e.DistinctString }); } string json = ser3.Serialize(ar); return(json); } } } return(null); }
public async Task <string> NextPageBlock(string sourceId, string set, string qexpr, string prevlast) { JavaScriptSerializer jser = new JavaScriptSerializer(); dynamic sobj = jser.DeserializeObject(set) as dynamic; EntitySetType type; if (Enum.TryParse <EntitySetType>(sobj["set"], out type)) { switch (type) { case EntitySetType.User: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(User)); DataContractJsonSerializer ser3 = new DataContractJsonSerializer(typeof(UserPageBlock)); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; UserServiceProxy svc = new UserServiceProxy(); UserSet _set = new UserSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } User _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as User; } var result = await svc.NextPageBlockAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); strm = new System.IO.MemoryStream(); ser3.WriteObject(strm, result); string json = System.Text.Encoding.UTF8.GetString(strm.ToArray()); return(json); } case EntitySetType.Role: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(Role)); DataContractJsonSerializer ser3 = new DataContractJsonSerializer(typeof(RolePageBlock)); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; RoleServiceProxy svc = new RoleServiceProxy(); RoleSet _set = new RoleSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } Role _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as Role; } var result = await svc.NextPageBlockAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); strm = new System.IO.MemoryStream(); ser3.WriteObject(strm, result); string json = System.Text.Encoding.UTF8.GetString(strm.ToArray()); return(json); } case EntitySetType.MemberNotification: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(MemberNotification)); DataContractJsonSerializer ser3 = new DataContractJsonSerializer(typeof(MemberNotificationPageBlock)); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; MemberNotificationServiceProxy svc = new MemberNotificationServiceProxy(); MemberNotificationSet _set = new MemberNotificationSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (sobj.ContainsKey("setFilter")) { _set.SetFilter = sobj["setFilter"]; } MemberNotification _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as MemberNotification; } var result = await svc.NextPageBlockAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); strm = new System.IO.MemoryStream(); ser3.WriteObject(strm, result); string json = System.Text.Encoding.UTF8.GetString(strm.ToArray()); return(json); } case EntitySetType.ShortMessage: { DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(QueryExpresion)); DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(ShortMessage)); DataContractJsonSerializer ser3 = new DataContractJsonSerializer(typeof(ShortMessagePageBlock)); System.IO.MemoryStream strm = new System.IO.MemoryStream(); byte[] sbf = System.Text.Encoding.UTF8.GetBytes(qexpr); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; var _qexpr = ser1.ReadObject(strm) as QueryExpresion; var svc = new ShortMessageServiceProxy(); var _set = new ShortMessageSet(); _set.PageBlockSize = int.Parse(sobj["pageBlockSize"]); _set.PageSize_ = int.Parse(sobj["pageSize"]); if (!sobj.ContainsKey("setFilter")) { throw new Exception("The page is not properly parameterized!"); } else { Func <string, string, int> count = (s, p) => { int _cnt = 0; int i = 0; while ((i = s.IndexOf(p, i)) != -1) { _cnt++; i += p.Length; } return(_cnt); }; string filter = sobj["setFilter"]; if (filter.Contains("ToID is null") && filter.Contains("___usergroups___") && count(filter, "||") == 0) { string[] mbgrpIds = await GroupChatViewContext.UserGroupChatMembers(System.Web.HttpContext.Current.User.Identity.GetUserId()); if (mbgrpIds == null || mbgrpIds.Length == 0) { throw new Exception(ResourceUtils.GetString("234038e6185f013e25d0213c06f5a0e9", "You are not a member of any chat group.")); } string groupexpr = ""; foreach (var gid in mbgrpIds) { groupexpr += (groupexpr != "" ? " || " : "") + "GroupID == \"" + gid + "\""; } _set.SetFilter = filter.Replace("___usergroups___", groupexpr); } else if (filter.EndsWith("&& ToID is not null && GroupID is null && ( ToID == \"{0}\" || FromID == \"{0}\" )") && count(filter, "||") == 1) { filter = string.Format(filter, System.Web.HttpContext.Current.User.Identity.GetUserId()); _set.SetFilter = filter; } else { throw new Exception("The page is not properly parameterized!"); } } ShortMessage _prevlast = null; if (!string.IsNullOrEmpty(prevlast)) { strm = new System.IO.MemoryStream(); sbf = System.Text.Encoding.UTF8.GetBytes(prevlast); strm.Write(sbf, 0, sbf.Length); strm.Position = 0; _prevlast = ser2.ReadObject(strm) as ShortMessage; } var result = await svc.NextPageBlockAsync(ApplicationContext.ClientContext, _set, _qexpr, _prevlast); strm = new System.IO.MemoryStream(); ser3.WriteObject(strm, result); string json = System.Text.Encoding.UTF8.GetString(strm.ToArray()); return(json); } } } return(null); }
/// <summary> /// Find identity role using role name /// </summary> /// <param name="roleName">The role name.</param> /// <returns>An asynchronous Task returns the identity role if it exists, otherwise returns null.</returns> protected virtual Task <TRole> FindRoleAsync(string roleName) { return(RoleSet.SingleOrDefaultAsync(r => r.Name == roleName)); }
public ApplicationUser(RoleSet roles) { this.roles = roles; }
public ActionResult <bool> SetRoleAuth(RoleSet para) { LogContent = "设置角色权限,参数源:" + JsonConvert.SerializeObject(para); return(bll.SetRoleAuth(para)); }
public AuthorizeRolesAttribute(params Role[] roles) { authorizedRoles = new RoleSet(roles); }