각 프레임은 데스크톱 웹 페이지의 레이아웃·핵심 영역·주요 컴포넌트 배치를 로우파이로 나타냅니다. 색·실데이터·정밀 시안 아님. 표·폼 안 예시값은 DE22-1 ui-sketch 샘플입니다. (SCR-CM-004 는 본 섹션에 정의 없음)

SCR-CM-001로그인

비로그인 진입 · JWT 인증(accessToken+refreshToken) · 비밀번호는 RSA-OAEP-SHA256 암호화 전송 · 실패 5회 시 30분 자동 잠금 · [비밀번호를 잊으셨나요?] → SCR-CM-008 (권한: 비로그인)

wims2.codecraft.co.kr/login
Window & Curtain Wall
Information Management System
로그인
아이디 *아이디
비밀번호 *비밀번호
로그인 상태 유지
로그인
비밀번호를 잊으셨나요?

비밀번호는 IF-CM-AUTH-004 공개키로 RSA-OAEP-SHA256 암호화 후 전송(평문 금지). 실패 3회부터 "로그인 실패 (3/5회)" 표시 · 5회 시 30분 잠금 카운트다운.
SCR-CM-002비밀번호 변경

사용자 메뉴 진입(만료 시 자동 전환) · 현재/새 비밀번호 모두 RSA 암호화 전송 · 실시간 규칙 검증(✓ 충족 / ✗ 미충족) · ⦿ 전역 정책은 관리자가 SCR-CM-007 에서 조정 (권한: 로그인 사용자)

wims2.codecraft.co.kr/settings/password
⌘K 검색
내 계정 › 비밀번호 변경
비밀번호 변경 폼
비밀번호 변경
현재 비밀번호 *현재 비밀번호
새 비밀번호 *새 비밀번호
비밀번호 확인 *비밀번호 재입력
비밀번호 규칙 (현재 정책 · 실시간 검증)
✓ 10자 이상 ✗ 특수문자 포함 ✓ 영문+숫자
⦿ 3가지 이상 조합 필수 ⦿ 90일 만료 ⦿ 최근 5개 재사용 금지

✓ 충족 · ✗ 미충족(실시간) · ⦿ 시스템 전역 정책(사용자 변경 불가 — SCR-CM-007 에서 관리자가 조정)

액션
취소변경
SCR-CM-003사용자 관리

좌측 목록 + 우측 상세 패널(행 클릭 → URL /admin/users/:id 갱신) · R12-C 7종 ROLE 모델 · 부서 자유텍스트(선택, 최대 64자) · 정지 사용자 휴지통 토글 (권한: ROLE_ADMIN · FR-CM-002/004)

wims2.codecraft.co.kr/admin/users/1
⌘K 검색
시스템관리 › 사용자 관리
검색 · 액션
이름/아이디 검색 검색 + 사용자
사용자 목록 (행 클릭 → 우측 상세 패널)
이름아이디역할소속팀상태
김진호jinho.kadmin개발팀JOINED
김수연suyeon.kadmin개발팀JOINED
유미숙misuk.yadmin유니크JOINED
정지된 사용자 포함 (휴지통 · status=SUSPENDED)
SCR-CM-005그룹(팀) 관리

그룹 목록 · 행 좌측 ▼/▶ 펼침 시 소속 인원 목록 · 멤버 다중선택 batch 추가 · 활성/비활성 토글(soft disable — 회색조+(비활성) 배지, 신규 배정 차단·기존 멤버 유지) · 삭제는 멤버 0일 때만 (권한: ROLE_ADMIN)

wims2.codecraft.co.kr/admin/groups
⌘K 검색
시스템관리 › 그룹 관리
액션
+ 그룹 추가
그룹 목록 (행 좌측 ▼/▶ 펼침)
그룹명소속 인원기본 역할생성일
개발팀8명ROLE_PM_VIEWER2026.03.23
유니크2명ROLE_PM_VIEWER2026.03.23
MES팀2명ROLE_MES_READER2026.03.23
관리자1명ROLE_ADMIN2026.03.23
펼침 영역 (개발팀) · 소속 인원 + 그룹 액션
개발팀

김진호(BE), 이율희(BE), 김수연(FE), …

+ 멤버 추가 (다중선택 · 검색 · 일괄) 활성 그룹 수정 그룹 삭제

비활성 전환 = soft disable(신규 admin 배정 차단 + 목록 회색조·(비활성) 배지, 기존 멤버·역할 유지) · 삭제 = 멤버 0일 때만 hard delete

SCR-CM-006코드 관리

전사 코드 카탈로그(CODE_CATALOG) 관리 · 좌 그룹 트리 + 우 코드 목록 · SCR-PM-010 4계층 분류·SCR-PM-011 modelCode 세그먼트 값 공급 · 사용 중 코드 삭제 차단(RESTRICT) (권한: ROLE_ADMIN · FR-CM-004)

wims2.codecraft.co.kr/admin/codes
⌘K 검색
시스템관리 › 코드 관리
코드 그룹 트리
▼ 자재 관련 ├ UNIT (단위) ├ MAT_TYPE (자재유형) └ MAT_SPEC (규격유형) ▼ 제품 관련 ├ L1_FORM (형식) ├ L2_GRADE (등급) ├ L3_GLAZING (형태) ├ L4_DIM (치수크기) └ BRAND / SERIES / REVISION ▼ 공정 관련 └ PRC_TYPE (공정분류)
+ 코드 그룹 추가
선택 그룹 코드 목록 — UNIT (단위)
코드명칭정렬
EA1
m미터2
kg킬로그램3
SET세트4
ml밀리리터5
+ 코드 추가

코드 행 클릭 → 사용처 보기(제품·자재·공정 참조) · 정렬은 드래그 또는 정렬 컬럼 직접 수정 · 사용 중 코드 삭제 차단(RESTRICT)

SCR-CM-007시스템 설정

비밀번호 정책·계정 잠금·세션·알림·파일 전역 설정 · 카테고리별 접기/펼치기 패널 · [기본값 복원]=클라이언트 상수(서버 미호출) · 변경 사유 선택 입력(이력 90일 보관) (권한: ROLE_ADMIN · FR-CM-004)

wims2.codecraft.co.kr/admin/settings
⌘K 검색
시스템관리 › 시스템 설정
카테고리 아코디언 (▼ 펼침 / ▷ 접힘)
비밀번호 정책
최소 길이10자 (10~20)
복잡도 조합3가지 이상
만료 주기90일 (0 = 무만료)
재사용 제한5개 (0 = 제한 없음)기본값 복원
변경 사유 (선택 · 최대 200자)
변경 사유예: 보안 정책 강화 / 사용자 요청 / 시스템 보강

[기본값 복원] = FE 클라이언트 상수(seedDefault)로 폼값만 되돌림(서버 미호출) · 실제 저장은 [저장] → PUT /api/cm/settings/{category}

액션
취소저장
SCR-CM-008비밀번호 재설정 · 폼 (토큰 유효)

?token= 진입 시 mount 직후 IF-CM-AUTH-008-1 로 토큰 사전 검증 → 유효(200)면 새 비밀번호 폼(FORM) 노출 · 10자 이상·3종 조합 · RSA 암호화 후 IF-CM-AUTH-008 제출 (권한: 비로그인 · FR-CM-001)

wims2.codecraft.co.kr/reset-password?token=…
비밀번호 재설정

새로 사용할 비밀번호를 입력하세요.

새 비밀번호 *10자 이상, 영문·숫자·특수 3종
비밀번호 확인 *다시 입력
비밀번호 변경
로그인으로 돌아가기

토큰 없이 진입(REQUEST)하면 이메일 입력 → IF-CM-AUTH-007 발송(SENT) · 성공(DONE) 시 SCR-CM-001 로그인 화면으로 이동

SCR-CM-008비밀번호 재설정 · 에러 (링크 만료 예시)

토큰이 유효하지 않으면 비밀번호 입력 폼 대신 사유 안내 + 복구 동선만 노출 · 에러 4종(INVALID / USED / EXPIRED / NETWORK) · 최종 검증은 confirm(IF-CM-AUTH-008)이 독립 수행 (권한: 비로그인)

wims2.codecraft.co.kr/reset-password?token=…
링크 만료
재설정 링크가 만료되었습니다. 유효 시간은 발송 후 1시간입니다.
재설정 링크 다시 요청
로그인으로 돌아가기
에러 화면 4종 (IF-CM-AUTH-008-1 응답별)
INVALID 유효하지 않은 재설정 링크입니다.
USED 이미 사용된 재설정 링크입니다.
EXPIRED 재설정 링크가 만료되었습니다 (유효 1시간). ← 본 예시
NETWORK 일시적인 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.