トップ / システム / アカウント管理
アカウント管理
このページでできること
- 新規アカウントの作成(メール / パスワード / ロール)ができます。
- 既存アカウントのメール・ロール・パスワードを画面上で編集できます。
- 不要なアカウントを削除できます(自分自身と「最後のシステム管理者」は保護)。
URL: pages/users.php。サイドバーの「システム → アカウント管理」から開きます。システム管理者専用のページです。
ロールの種類
クヌギスキーマには 2 種類のロールがあります。users.role 列に文字列として保存され、許可ページはロールごとに固定されています。
| ロール | 説明 | アクセスできるページ |
|---|---|---|
| システム管理者 (admin) | すべての画面・全プロダクトを操作できる最上位ロール。アカウントの追加・削除もここに含まれます。 | 全ページ(ダッシュボード / プロダクト管理 / メタ情報の事前登録 / 構造化マークアップ検出設定 / URLの追加・修正・削除 / 手動でクロール実行 / 結果一覧 / エラーURL管理 / Cron スケジュール / CSV ダウンロード / アカウント管理) |
| プロダクト管理者 (product_manager) | クロール対象 URL の追加とクロール実行、結果確認、エラー処理、CSV エクスポートだけを行える運用担当者向けのロール。プロダクト自体の作成 / 削除や cron スケジュール変更はできません。 | 固定で 5 ページ : URLの追加・修正・削除 / 手動でクロール実行 / 結果一覧 / エラーURL管理 / CSV ダウンロード |
プロダクト管理者の許可ページは固定値です
実装上、プロダクト管理者がアクセスできるページは
Auth::PRODUCT_MANAGER_PAGES 定数(src/Auth.php)に列挙されています。画面 UI 上では選択させない設計です。「もっとページごとにきめ細かく権限を分けたい」場合は、コード側で PRODUCT_MANAGER_PAGES を編集してください。
新規アカウントの作成
- 「新規アカウント」セクションでメールアドレス(必須)、パスワード(8 文字以上)、ロールを入力。
- 「アカウントを作成」を押すと
usersテーブルに 1 行 INSERT。パスワードはpassword_hash()でハッシュ化して保存されます。 - 登録メールアドレスは小文字化+トリムされ、同じアドレスの重複登録は拒否されます(UNIQUE 制約 + アプリ側の事前チェック)。
編集
一覧の各行で「編集」ボタンを押すと、その行内に編集フォームが展開されます。
- メールアドレスを別の有効なアドレスに変更可能(重複は拒否)。
- ロールを切り替え可能。ただし「自分自身を
adminから降格する場合」は、他にadminが残っていることを確認します。最後の admin になっているときは降格不可です(ロック対策)。 - 「パスワード変更(空欄で現状維持)」欄に新パスワードを入力すると、
password_hash列を更新します。8 文字未満は拒否。空欄なら現状維持。 - 「保存」で
UPDATEが走ります。
メールが届かないユーザー向けの救済
パスワード再発行メールが届かない環境では、システム管理者がここからユーザーのパスワードを直接書き換えてあげるのが最短ルートです。再設定後はユーザー本人に新パスワードを安全な経路(社内チャット / 対面 など)で連絡してください。
削除
- 自分自身を削除することはできません(同じ管理者がログインしている状態でアカウントを消すと回復不能になるため)。
- 最後のシステム管理者は削除できません。先に別のアカウントを
adminに昇格してから削除してください。 - 削除時は確認ダイアログが出ます。
users行を DELETE するだけで、過去の活動ログは残りません。
初期セットアップとの関係
クヌギスキーマは「ユーザー数 0 件の状態で初回アクセス」されたとき、ログイン画面が自動的に「初期セットアップ」モードに切り替わります(タイトル表示が変わります)。初回作成者のロールは強制的に admin になります。ログイン/パスワード再発行 / インストール方法 → 初回ブラウザアクセス も参照。