hasPermission