/// <summary> /// Authorize permission /// </summary> /// <param name="permission">Permission record</param> /// <param name="customer">Customer</param> /// <returns>true - authorized; otherwise, false</returns> public virtual bool Authorize(PermissionRecord permission, BusinessPartner user) { if (permission == null) return false; if (user == null) return false; //old implementation of Authorize method //var customerRoles = customer.CustomerRoles.Where(cr => cr.Active); //foreach (var role in customerRoles) // foreach (var permission1 in role.PermissionRecords) // if (permission1.SystemName.Equals(permission.SystemName, StringComparison.InvariantCultureIgnoreCase)) // return true; //return false; return Authorize(permission.SystemName, user); }
/// <summary> /// Authorize permission /// </summary> /// <param name="permission">Permission record</param> /// <returns>true - authorized; otherwise, false</returns> public virtual bool Authorize(PermissionRecord permission) { return Authorize(permission, _workContext.CurrentUser); }
/// <summary> /// Updates the permission /// </summary> /// <param name="permission">Permission</param> public virtual void UpdatePermissionRecord(PermissionRecord permission) { if (permission == null) throw new ArgumentNullException("permission"); _permissionPecordRepository.Update(permission); _cacheManager.RemoveByPattern(PERMISSIONS_PATTERN_KEY); }