Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
 public abstract bool HasAnyCategoryPermission(long permissionObject, long requestedPermissions, PermissionLimiterBase limiterFunctionChecker);
Ejemplo n.º 3
0
 public abstract bool?HasPermission(long permissionObject, long requestedPermissions, PermissionLimiterBase limiterFunctionChecker = null, object categoryKey = null);
Ejemplo n.º 4
0
 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));
 }
Ejemplo n.º 5
0
 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));
 }
Ejemplo n.º 6
0
 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));
 }
Ejemplo n.º 7
0
 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));
 }