S SmartDocs
Series: Springboot java 23 lines · Updated 2026-08-14

Role.java

Springboot/bookstore-api/src/main/java/com/example/bookstore/entity/Role.java

package com.example.bookstore.entity;

/**
 * 使用者角色(Role)列舉,用於「授權」(Authorization)判斷。
 *
 * 【Spring Security 慣例】
 * 角色名稱必須以 "ROLE_" 開頭。
 * 之後在授權規則中寫 hasRole("ADMIN") 時,
 * Spring Security 會自動加上前綴,比對 "ROLE_ADMIN"。
 *
 * 本專案的權限設計:
 *   - 未登入訪客     :只能「查詢」書籍(GET)
 *   - ROLE_USER      :可查詢、新增、修改書籍(GET / POST / PUT / PATCH)
 *   - ROLE_ADMIN     :擁有全部權限,包含「刪除」書籍(DELETE)
 */
public enum Role {

    /** 一般使用者:可讀取、新增、修改書籍 */
    ROLE_USER,

    /** 管理員:額外擁有刪除書籍的權限 */
    ROLE_ADMIN
}

Related articles