Fix SeatGuard to calculate permissions correctly in hasAccess()