- 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().
