public void CommonPermission_GetOperationPermission_InvlidOperation_Test() { //初始化 Role role = new Role(); AccessObject accessObject = AccessObjectFactory.CreateAcessObject(1, false); CommonPermissionConfig config = new CommonPermissionConfig(role, accessObject); CommonPermission commonPermission = new CommonPermission(accessObject); //操作 OperationPermission operationPermission = commonPermission.GetOperationPermission(new Operation()); }
public void CommonPermission_GetOperationPermission_Test() { //初始化 Role role = new Role(); AccessObject accessObject = AccessObjectFactory.CreateAcessObject(1, false); CommonPermissionConfig config = new CommonPermissionConfig(role, accessObject); var operation = accessObject.Operations.First(); CommonPermission commonPermission = new CommonPermission(accessObject); //操作 OperationPermission operationPermission = commonPermission.GetOperationPermission(operation); //验证 Assert.IsNotNull(operationPermission); Assert.AreSame(operation, operationPermission.Operation); }
public void CommonPermission_PermissionCalculate_Test() { //初始化 Role role = new Role(); AccessObject accessObject = AccessObjectFactory.CreateAcessObject(1, false); CommonPermissionConfig config = new CommonPermissionConfig(role, accessObject); var operation = accessObject.Operations.First(); config.SetOperationPermission(operation, true, false); CommonPermission commonPermission = new CommonPermission(accessObject); //操作 commonPermission.PermissionCalculate(config); //验证 Assert.AreSame(config, commonPermission.PermissionConfigs.First()); Assert.IsTrue(commonPermission.HavePermission(operation)); Assert.IsFalse(commonPermission.HavePermission( accessObject.Operations.First(o => o != operation))); }
public void CommonPermission_Constructor_With_PermissionConfigs_Test() { //初始化 Role role = new Role(); AccessObject accessObject = AccessObjectFactory.CreateAcessObject(1, false); CommonPermissionConfig config = new CommonPermissionConfig(role, accessObject); var operation = accessObject.Operations.First(); config.SetOperationPermission(operation, true, false); CommonPermission commonPermission = new CommonPermission( accessObject, new CommonPermissionConfig[] { config }); //验证 Assert.AreEqual(accessObject.Operations.Count(), commonPermission.OperationPermissions.Count()); Assert.AreSame(config, commonPermission.PermissionConfigs.First()); Assert.IsTrue(commonPermission.HavePermission(operation)); Assert.IsFalse(commonPermission.HavePermission( accessObject.Operations.First(o => o != operation))); }
public void CommonPermission_PermissionCalculate_InvalidConfigAccessObject_Test() { //初始化 Role role = new Role(); AccessObject accessObject = AccessObjectFactory.CreateAcessObject(1, false); CommonPermissionConfig config = new CommonPermissionConfig(role, accessObject); var operation = accessObject.Operations.First(); config.SetOperationPermission(operation, true, false); CommonPermission commonPermission = new CommonPermission(accessObject); //操作 commonPermission.PermissionCalculate(new CommonPermissionConfig()); }
/// <summary> /// 根据权限配置进行计算权限 /// </summary> /// <param name="permissionConfig">权限配置</param> public void PermissionCalculate(CommonPermissionConfig permissionConfig) { PermissionCalculate(permissionConfig, true); }
/// <summary> /// 根据权限配置进行计算权限 /// </summary> /// <param name="permissionConfig">权限配置</param> /// <param name="append">是否添加配置对象到配置对象列表</param> private void PermissionCalculate(CommonPermissionConfig permissionConfig, bool append) { Guidance.ArgumentNotNull(permissionConfig, "permissionConfig"); if (permissionConfig.AccessObject != AccessObject) { throw new ArgumentException( Resource.Messages.exception_CommonPermissionPermissionCalculateInvalidAccessObject, "permissionConfig"); } //根据权限配置对象更新操作的权限 foreach (var operationPermissionConfig in permissionConfig.OperationPermissionConfigs) { if (_operationPermissions.ContainsKey(operationPermissionConfig.Operation.Id)) { _operationPermissions[operationPermissionConfig.Operation.Id] .PermissionCalculate(operationPermissionConfig); } else { throw new InvalidOperationException( Resource.Messages.exception_CommonPermissionPermissionCalculateInvalidAccessObject); } } if (append) { //添加配置对象到配置对象列表 _permissionConfigs.Add(permissionConfig); } }