/// <summary> /// در استفاده از این متد دقت کنید. این متد فقط در صورتی که کاربر جاری اجازه کامل داشته باشد و یا بصورت انحصاری خود کاربر ایجاد کننده آن باشد /// استفاده صحیحی دارد. /// در صورتی که کاربر جاری اجازه خود را از دسترسی دیگری(مثلا از اجازه قلمرو) دریافت کند این متد مقدار "فالس" بر می گرداند /// که صحیح نیست. پس لازم است متد کاملتری نوشته شود /// </summary> /// <param name="permissionObject"></param> /// <param name="requestedPermissions"></param> /// <param name="itemCreatorUserName"></param> /// <returns></returns> public bool?HasPermission(P permissionObject, long requestedPermissions /*NOTE:this parameter can be cumulative*/, string itemCreatorUserName = null, K?categoryKey = null) { if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(false); } PermissionLimiterBase <P, C, PC> permissionLimiter = null; if (itemCreatorUserName == null) { return(HasPermission(permissionObject, requestedPermissions, permissionLimiter, categoryKey)); } permissionLimiter = new PL() .On(PermissionCoordinator.GetAllOwnRelatedPermissions(permissionObject)) .Except(() => this.UserName == itemCreatorUserName); return(HasPermission(permissionObject, requestedPermissions, permissionLimiter, categoryKey)); }
public abstract bool HasAnyCategoryPermission(long permissionObject, long requestedPermissions, PermissionLimiterBase limiterFunctionChecker);
public abstract bool?HasPermission(long permissionObject, long requestedPermissions, PermissionLimiterBase limiterFunctionChecker = null, object categoryKey = null);
public bool?HasPermission(P permissionObject, long requestedPermissions /*NOTE:this parameter can be cumulative*/, PermissionLimiterBase permissionLimiter, K?categoryKey = null) { if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(false); } if (categoryKey == null) { categoryKey = GetPermissionCategoryKey(PermissionCoordinator.GetPermissionCategory(permissionObject)); } return(UserPermissionHelper.HasPermission(permissionObject, requestedPermissions, permissionLimiter, categoryKey)); }
public override bool?HasPermission(long permissionObject, long requestedPermissions, PermissionLimiterBase permissionLimiter = null, object categoryKey = null) { return(HasPermission((P)Enum.Parse(typeof(P), permissionObject.ToString()), requestedPermissions, permissionLimiter, (K?)categoryKey)); }
public override bool HasAnyCategoryPermission(long permissionObject, long permissions, PermissionLimiterBase limiterFunctionChecker) { if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(false); } return(UserPermissionHelper.HasAnyCategoryPermission((P)Enum.Parse(typeof(P), permissionObject.ToString()), permissions, limiterFunctionChecker)); }
public bool?HasPermission(P permissionObject, long requestedPermissions /*NOTE:this parameter can be cumulative*/, PermissionLimiterBase permissionLimiter) { if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(false); } return(UserPermissionHelper.HasPermission(permissionObject, requestedPermissions, permissionLimiter)); }