権限と操作範囲
TablePOS はロールベースアクセス制御(RBAC)を採用しています。ロールはスタッフごとの role カラムで管理され、実際に運用されているのは以下の6種類です。
ロール一覧
| ロール(コード) | 表示名 | スコープ |
|---|---|---|
sa_admin | SA管理者 | 全社横断(運営者) |
sa_staff | SAスタッフ | 全社横断(運営者) |
company_admin | 会社管理者 | 自社(全店舗) |
company_staff | 会社スタッフ | 自社(全店舗) |
store_admin | 店長 | 自店舗 |
store_staff | 店舗スタッフ | 自店舗 |
アクセス制御の仕組み
/pos/* /admin/* へのアクセスはミドルウェアでロールごとに制御されています。
- 未ログインで
/pos/*/admin/*にアクセスするとログイン画面へリダイレクトされます sa_adminsa_staff(SA) は全ページにアクセスできます- 会社に未紐づけのアカウントは会社情報登録ページへ誘導されます
/admin/super/*は SA 以外アクセスできませんcompany_admincompany_staffは自社の会社ページ・店舗ページのみアクセスでき、他社の ID を指定すると自社のページへリダイレクトされますstore_adminstore_staffは自店舗の POS・管理ページのみアクセスでき、他店舗を指定すると自社のページへリダイレクトされますstore_staffは店舗管理ページ内の「スタッフ管理」「設定」「監査ログ」「原価管理」には入れません(store_adminのみアクセス可能)
会社情報の編集・契約プランの変更は company_admin(自社のみ)または SA が行えます。
ロールの変更
スタッフのロールはスタッフ管理画面から変更できます。ロールはリクエストのたびに DB から参照されるため、変更内容は次回アクセス時から反映されます。
スタッフの無効化
スタッフ管理画面からスタッフを「無効」に切り替えられます。
ログイン試行制限
短時間に規定回数以上ログインに失敗すると、一時的にログインがブロックされます。