System User가 org의 적용모델을 해결하자
OrgId != 세션 org와 콜러에 403을 반환 크로스 오르 게이트 대상 org의 회원 행이 없었다. 플랫폼 전체 시스템 사용자 운영 모든 org를 가로지르기 때문에 해결된 사용자가 될 때 회원 확인을 우회합니다. 시스템 사용자.
Canonicalize webhook repo name 에 공공 프로젝트 케이스
클러스터 마이그레이션 후 Forgejo repos가 더 낮은 케이스를 재구성했다. (securityservice), 그러나 역사적인 행 및 공공 프로젝트 필터 사용 canonical 케이싱 (SecurityService). 들어오는 저장소.name을 ingestion에서 예제를 허용하므...
다중 노드 로고를 통해 favicons 생성, 단일 노드가 존재하지 않는 ()
generateAndUploadFavicons()는 minioService.exists()에 문지릅니다. 현재 MinIO 호스트를 통계합니다. 간단한 로고가 작성되었을 때 (또는 단지 false NoSuchKey를 반환합니다. favicon 생성은 config.json을 떠나, glob...
/user-info의 GD (god eligibility) 노출
세션은 GD 플래그 (KSessionService)를 저장하지만 /user-info는 결코 반환하지 않습니다. 그것은, 그래서 kamo-universe의 KamoIdentity 항상 deserialized is god=false와 god/dev quick-jump (SkyWorld) o...
Case-insensitive 이메일 조회 그래서 재설정 이메일 보내기
비밀번호 복구는 입력하지만 findByEmailEmail은 저장된 이메일 (예 : Sage@KamoCRM.com)에 대한 케이스 감지 일치, 그래서 사용자는 결코 발견되지 않았고 재설정 이메일이 전송되지 않았습니다. 모두 전환 4 복구 조회 (이메일 개시, 질문 fetch/verify,...
Org jumps를 통해 impersonation 감사 트레일
콜러가 이미 임의 세션이 될 때 (신 관리자는 행동 /network에서 다른 org에 들어가는 SUDO MEMBER ID를 나르는 또 다른 회원 sudo id없이 새로운 세션을 축소 - 정말 운전을 잃었다. Default sudoMember이 호출자 세션의 기존 SUDO MEMBER ...
플랫폼 설정을위한 SUBSCRIPTION 시장을 선택하십시오
KamoCRM은 여러 시장을 소유합니다. *********** 그래서 resolveProductMarket는 SUBSCRIPTION-type (platform-access) 시장을 선택해야 합니다. 오히려 첫번째 활동적인 것 보다는. 레거시 KamoCRM-titled-market 유지 ...
레테르를 붙이는 득점방해에 재생산 favicons; sniff 진짜 로고 유형
offerUpdate (모든 사용자 정의 라벨링에 실행)는 config/css/manifest를 썼습니다. 하지만 결코 재생 favicons – 그만 프로듀서에 의해 생산 되었다. 이름 * org는 전체 규정없이 씨앗이 빈 favicon / 설정, 그래서 모든 Kamo 사이트 (logi...
Org 폴더가 부족할 때 템플릿의 Seed globals.css
프로비저닝 (모든 색상 저장에서 실행) org의 css/globals.css를 다시 그 객체는 한 번만 제공 전체에서 그것을 copied 기본 템플릿. org는 단지 config+logos로 종종했다, 그래서 다운로드 threw NoSuchKey 및 org의 globals.css - 모...
/org/domain의 기능 모음 교체하기 전에 Detach
이전 수정은 적용되는 모델 투영을 *********** 하지만 호출 org.setFeatures(projected)는 여전히 관리된 조직에 있습니다. 조직.features @OneToMany에는 cascade=all-delete-orphan가 있습니다. "Catcade='all-dele...
Resolve ambiguous /org/domain 핸들러 - 상업 nav 사라졌다
SecurityController는 두 번째 ****************를 가지고 있습니다. ****************로 칭함 봄 거부 "Ambiguous handler 방법 mapped" → 500 → kamo-internal 요청 SSR layout은 omits POS를 사용하...
SystemUserGuard를 우회하는 /me/language endpoint 추가
NavTop 언어 선택기는 System User에 서명하지 않았습니다. 하위 파일: PUT **************** systemUserGuard를 먼저 실행합니다. 어느 403s 모든 시스템 사용자 TeamMember mutation (모든에서 제공) SystemUserBackfi...
TXT 소유권에 Kamo-owned subdomains를 문지르십시오
카모 웹 별칭 (예 : gnosia.demo.kamocrm.com) "TXT 레코드 발견되었지만 검증 코드는 일치하지 않습니다" DNS 설정 UI에서. 뿌리 원인 : org domain 행은 stale을 가지고 valid token 및 소유권 verified=false, 그래서 확인Dn...
Grant top-level org 소유자 cross-org 삭제/업데이트 액세스
deleteDomain 및 updateDomain 이전 거부 플랫폼 관리자 isUserOwnerOfOrg를 확인했기 때문에 어린이 도메인에서 작동 대상 org에 직접, 최고 수준의 org에 대 한 우회 소유자 - 읽기 흐름과 달리 (getAllDomains, getDomainById)....
Per-org *.kamocrm.com 하위 도메인 삭제 허용
EndWith(".kamocrm.com")는 모든 데모 org를 보호합니다. 플랫폼 하위 도메인 (예 : gmosia.demo.kamocrm.com)을 교환 사용자 정의 도메인. 플랫폼 루트 kamocrm.com은 저장되지 않습니다 org domain 행, 그래서 감시는 실제 대상이 없...
Propagate Child-org-creator 관리자 상태 부모의 회원
사용자가 아이 org를 만들 때 그들은 소유자 + 관리자 (via *************** 그들의 PARENT-org 회원, 그러나, 전에 있었던 것은 무엇입니까 — 일반적으로 등록 시간 팀 멤버 역할 없이 관리자 역할 — 그리고 그 방법을 유지 후 아이 org가 생성됩니다. 그것은...
민트 소유자 OTK DB 라운드 스트립없이 모든 권리
****************가 관리자를 할당합니다. 역할과 쓰기 member rights applied, OTK-minting 블록이었다 ****************를 통해 그 행을 다시 읽어라. 같은 @Transactional 내부. Hibernate 넘치는 주문에 따라서 JPA ...
GetDomainById 및 검증된 엔드포인트에 대한 높은 액세스 허용
최고 수준의 org 소유자 및 시스템 구성원은 getDomainBy에 403을 얻고있다 ₢ 킹 and valid-dns because 그 endpoints check isUserMemberOf Org 직접. hasElevatedCrossOrgAccess 헬퍼를 추가하고 회원 확인과 함께...
중복 루트 도메인을 방지하고 기본 도메인 표시를 수정
ONE DOMAIN PER ORG 체크인 잘못된 제외 .kamocrm.com 웹 별 org는 여러 루트 도메인을 축적 할 수 있도록 (그리고 10 aliases 각각) 다른 별명으로 재출시. 이제 모든 것을 계산 최상위 도메인(parent IS NULL) suffix에 관계없이. 네트...
Org 생성 지연 및 수정 번역 캐스케이드 실패 감소
- OrganizationController: makeTeamMembersForAllOrgs (전체 org makeTeamMemberForOrg (single org)로 테이블 검사 ~400ms×N DB 라운드 스트립 /network/create 제출이 붙어있는 - Organizatio...
Auto-assign first seat, 바닥으로 무료, 더 넓은 org 무효
BillingSetupService는 이제 제작자를위한 첫 번째 오픈 라이센스 슬롯을 활성화합니다. sub-org 구독을 무시할 때 (그리고 홍보-to-billing-owner와 동일) — 그렇지 않으면 신선한 sub-org 소유자는 무료 기본을 볼 수 있습니다. 묘목 계획에 라이센스....
Top-level org 회원은 플랫폼 소유자 계획을 얻을, 청구 게이트 우회
KamoCRM (최고 수준의) org 회원은 청구 시스템에 적용되지 않습니다 - 그들은 OWNER UNLIMITED 플랜의 기능 매트릭스가 (무료로 소유자 계획이 누락되면 떨어졌다), plus has-active-license and has-Kamo-CRM-access true 그래서 ...
NameAlias에 대한 실제 이름 우선 순위 표시
nameAlias는 기능적으로 로그인 핸들 (사용자 이름과 동일), 표시 이름이 아닙니다. User.name (EmbNameFull)에서 실제 사용 가능한 이름. /names와 /by-department endpoints 모두에 적용하십시오.
By-department endpoint에서 정확한 우선 순위를 가진 전시 이름 해결
우선순위: member.usernameAlias → user.name.formatFull() → user.alias → user.username
두 배 접근 통제 Allow Origin 우두머리를 일으키는 원인이 되는 CorsFilter 콩을 제거하십시오
명시된 CorsFilter bean은 두 번째 CORS 필터가 봄에 발생했습니다. Security의 내장 CORS 지원 (CORSConfigurationSource를 사용하는 경우). 두 필터는 기원 패턴을 해결하고 같은 헤더를 썼다, 생성 중복 'https://www.kamocrm.c...
시스템 사용자를 허용 org 브랜딩 및 수정 로고 auth
- canManageOrgBranding에 있는 첫번째 감시로 체계 사용자 우회를 etc로 추가하십시오 체계 사용자는 모든 non-parent orgs에 가득 차있는 브랜딩 통제가 있습니다 - bypassed의 raw org-owner-only check가 있는 uploadLogo en...
GoDaddy 400 오류 뒤에 표면 실제적인 이유
GoDaddy는 이제 코드 = UNIABLE TO AUTHENTICATE와 몸으로 HTTP 400을 반환합니다. "Bad Request : Bad Request" 계정이 현재의 일치하지 않는 경우 생산 영역 API 자격 (10 + 도메인 계정 또는 활성 할인 도메인 클럽 회원). 자격은...
FindByIdWithDomains를 통해 Eager-load 도메인, 드롭 @Transactional
@Transactional on the Controller 메소드는 DB 연결이 실행되도록 합니다. 전체 MinIO 업로드, 또한 위험 LazyInitializationException if 내부 getOrganizationById 거래가 해결하기 전에 커밋 org.getDomains(...
Public/{domain-folder}/img/ 대신 staging Bucket에 직접 업로드
UploadLogo endpoint는 hardcoded 'sumtingwong' placeholder로 작성되었습니다. (unfilled setting) 대신 org의 실제 대중 테마 경로. 지금 로고 ********* 또는 로고 전체로 이동합니다.{ext}. - copyFolder는...
Edge-nodes에서 다운된 k2m1 노드 제거
k2m1 (10.8.2.1)는 영구적으로 아래로 입니다. 실패 목록에서 제거 새로운 OkHttp timeout 불까지 걸기 위하여 올려주기한 올려주기. 기본 정보 이제 k1m1-only; k0m1 콜드 노드는 fallback로 남아 있습니다.
Enforce /network는 규칙 서버 측을 입력합니다
대상이 현재 세션 org, 사용자 정의 도메인 SSL이 아닌 경우 거부 확인, 또는 인간 대상 회원은 비활성입니다. 도메인 설정 OrgNetworkEnterPolicy를 통해 내 네트워크와 논리; 로드 대상 org와 findByIdWithDomains를 통해 도메인.
Org 회원이 필요합니다
이제 입력하면 항상 새로운 *** 클라이언트 공급 대상 회원 행; 잘못된 org/member를 거부합니다. 세션 디버그 로깅 개선.
Enter-as 세션은 Target org 보안 제공 업체 및 옵션 TargetMemberId를 사용합니다
Enter-as는 Redis securityOrgId를 user global security provider에서 설정했습니다. 로그인이 대상 org FQDN 체인에서 설정하는 동안. 그 잘못은 크로스도메인을 만들었습니다. hand-offs는 source/provider org와 같습니다...
BFF 요청에 대한 OTK에서 시스템 사용자 세션을 해결
SystemUserConfigController 및 SystemUserCapabilityController만 읽습니다. *** 쿠키. kamo-internal forwards X-OTK with cookies, 그래서 보안 서비스 절대 세션을 본 적이 없으며 합법적인 최고 수준의 소유자...
X-OTK BFF auth에서 세션을 수정
EnterAsController 만 읽기 *** 쿠키; 내부 트래픽 사용 OTKPreAuthFilter 세션 속성. JSON에서 큰 INT8 ids에 대한 문자열로 targetOrgId를 허용한다.
By-department endpoint에서 팀원만 반환
Interaction Center는 TeamMember 행을 나열해야하며, base Member 레코드가 아닙니다.
앱 경로 및 기능 API에 가입 게이트 적용
AppAvailabilityInterceptor는 이제 항상 isAppEffectivelyEnabled를 사용합니다 FORCE ENABLED는 구독을 존중합니다. FeatureController serializes 활성화 모델 flag plus raw DB 대신 동일한 게이트에서.
Harden org 프로비저닝을위한 기본 템플릿 복사
대상 키에 대한 명시된 소스 접두사, 건너뛰기 S3 폴더 마커, 템플릿 접두사가 비어있을 때 실패 globals.css에 도달하지 마십시오.
Platform admin UI에 대한 ***에 teamMember 소유자 플래그 포함
Store teamMember { memberId, isOrganizationOwner} 에 로그인 그래서 kamo-internal hasPlatformAdminAccess는 최고 수준의 org 소유자를 만족시킬 수 있습니다 경로. IS ORGANIZATION OWNER 를 읽으려면 로...
필수 DNS CNAME aliases에서 드롭 메일
KnownAliases에서 메일을 제거하여 더 이상 확인 및 삭제 mail.example.com을 요구하십시오; 새로운 사용자 정의 도메인은 또한 자동 조정을 건너 뛸 메일 아이 alias.