KamoCRM

Przewiniaj podmiotMemberId i rola, aby TimecardService mógł zweryfikować posiadanie dziury

FixSecurityService
Szycy
23 września 2026 11:04 UTC
Autor
Kamo
Pochęt się
be57082

- rozstrzygnął rolę dzwonijącego przeciwko KLIENT-SUPPLIED TematMemberId (resolveRole -> EMPLOYEE, gdy aktor-subiektywnie) ale nigdy nie przekazał tego id lub Rozwiązana rola w dół rzeki. TimecardService załadował cios przez punchId i sprawdził tylko org, więc zapisany pracownik może przejść podmiotMemId siebie (trivilially autoryzowany) wraz z Prawdziwy punchId i edytuje lub unieważnia czyjeś ciosy. Obie wartości podróżują teraz na Przekaźnik, w ten sam sposób aprobataAkt już odgrywa rolę: podmiotMemberId pozwala TimecardService (tzw. Jeden trzymający punch row) potwierdza, że punchId faktycznie należy do członka, którym ten dzwonił Zezwolone przeciwko, a rola pozwala mu wyegzekwować blokadę łańcucha zatwierdzającego (patrz sparowany Poprawność karty czasowej-serwinej). Również: determinRole start isMangerOf's reporting-line query (skanowanie zatrudnienia w całym lubgzelu przed tym Zmiana) na każdym samopoglądzie przed sprawdzeniem aktora, mimo że nikt nie jest jego własnym Menedżer. aktor-subject jest teraz sprawdzany jako pierwszy, więc samopogląd nigdy nie dotyka linii raportowania, i Pozostały używany cross-member lookup - zamiast tego Z niefiltrowanego znaleziskaAll().

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Wszystko to pojawia się w twoim miejscu pracy na własną rękę. Zacznij od bezpłatnego planu i przeczytaj tę stronę ponownie w miesiącu.

Start Free ForeverZobacz ceny