친절한 우리 고모

친절한 고모의 친절한 이야기

  • 2025. 4. 15.

    by. 친절한 고모

    목차

      🎛️ 사용자 역할(Role) & 권한(Capabilities) 제어 실전 설정법

      (실제 운영 환경에서 커스터마이징하는 방법 총정리)

      워드프레스를 단순 블로그가 아닌,
      콘텐츠 플랫폼, 커뮤니티, 멤버십 서비스로 확장하려면
      사용자별로 기능 제한, 권한 분리, 안전한 운영 구조가 필수입니다.

      이번 글에서는
      ✔ 기본 역할 수정 및 새 역할 생성
      ✔ 특정 권한 추가 및 제거
      ✔ 실전 사용 예시: 필진 계정, 고객 계정, 내부팀 운영 계정
      ✔ 코드 & 플러그인 활용 팁
      을 모두 정리합니다.

       

      🎛️ 사용자 역할(Role) & 권한(Capabilities) 제어 실전 설정법


      ✅ 1. 사용자 역할과 권한의 구조 복습

      • 역할(Role): 사용자 그룹 (예: 관리자, 에디터, 작성자 등)
      • 권한(Capabilities): 각 역할에 부여되는 세부 기능 (예: 글쓰기, 댓글 승인, 설정 변경 등)

      기본적으로 워드프레스는 각 역할에 특정 권한 세트를 자동 부여합니다.
      이 권한 세트를 커스터마이징하면 원하는 운영 구조가 완성됩니다.


      🧩 2. 플러그인으로 권한 설정하기 – User Role Editor

      설치 및 사용법

      1. 플러그인 > 새로 추가 > "User Role Editor" 검색
      2. 설치 후 사용자 > User Role Editor 메뉴 진입
      3. 상단 드롭다운에서 수정할 역할 선택 (예: Author)

      주요 기능

      기능설명
      ✅ 권한 추가/제거 publish_pages 제거하면 페이지 발행 불가
      ✅ 새 역할 생성 “client” 등 커스텀 역할 만들기
      ✅ 특정 사용자만 제한 기능 부여 개별 사용자 기준 권한 부여도 가능

      🛠️ 3. 실전 예시: 커스텀 역할 만들기

      🎯 예: 'guest_author' 역할 만들기 (글은 작성 가능, 발행은 불가)

      php
      복사편집
      function create_guest_author_role() { add_role('guest_author', 'Guest Author', array( 'read' => true, 'edit_posts' => true, 'delete_posts' => false, 'publish_posts' => false, 'upload_files' => true )); } add_action('init', 'create_guest_author_role');

      이렇게 하면 외부 필진용 역할을 만들 수 있습니다.
      글은 쓰되, 관리자가 승인해야 발행되는 구조죠.


      🎯 예: 에디터에게 ‘테마 수정 권한’ 제거하기

      php
      복사편집
      function remove_theme_edit_from_editor() { $role = get_role('editor'); if ($role) { $role->remove_cap('edit_theme_options'); } } add_action('init', 'remove_theme_edit_from_editor');

      ⚠️ 실수로 테마 편집기 접근을 막지 않으면, 중요 파일이 수정되어 사이트가 깨질 수 있습니다.


      🔐 4. 역할 기반 보안 강화 전략

      계정 유형설정 전략
      외부 필진 edit_posts만 허용, publish_posts 제거
      에디터 전체 콘텐츠 접근, 테마/플러그인 설정은 제한
      클라이언트 커스텀 역할, 관리자 화면 일부 제한 (Adminimize 등 활용)
      운영팀 제한된 관리자 권한 (User Role Editor + White Label CMS 연동)

      🧠 5. 보안 플러그인과 역할 연계 활용

      플러그인역할 기반 기능
      WP Limit Login Attempts 로그인 시도 제한, 역할별 적용 가능
      Adminimize 역할별로 관리자 메뉴 숨김 가능
      Members User Role Editor 대체용, 권한 필터링 더 직관적

      ✅ 사용자 역할/권한 체크리스트

      항목설정 여부
      관리자 외 계정 제한 권한 적용 ✅ / ❌
      외부 필진에게 발행 권한 제거 ✅ / ❌
      에디터에게 테마 수정 권한 제거 ✅ / ❌
      커스텀 역할 생성 및 테스트 완료 ✅ / ❌
      Adminimize 등 메뉴 제한 기능 설정 ✅ / ❌