ユーザー認証と承認
3.0.1以降、Saturnコンソールはユーザー認証と承認をサポートします。
1つの認定
Saturn 3.0.0以降、コンソールはユーザーログイン認証をサポートします。ただし、ユーザー登録機能は対象外です。つまり、ユーザー登録はユーザーが実装する必要があります。
1.1認証機能を有効にする
デフォルトでは、コンソールは認証機能を有効にしません。有効にする場合は、起動コンソールでパラメータ-Dauthentication.enabled = trueを追加してください
システムは、デモ目的でデフォルトで2人のユーザーを追加します。
ユーザー名 | パスワード |
---|---|
管理者 | 管理者 |
ゲスト | ゲスト |
1.2サポートされる認証方法
Saturnは現在、プレーンテキストとPBKDF2WithHmacSHA1の2種類の認証方法をサポートしています。
アルゴリズムは、JVMプロパティ "-Dauthentication.hash"を設定することで変更できます。デフォルトはplaintextです。authentication.hashが上記の2つのタイプでない場合、例外が返されます。
平文はテストのみを目的としており、本番環境では推奨されないことに注意してください。
1.3ユーザーのパスワードと形式
ユーザー登録機能をカスタマイズする場合は、ユーザー情報がデータベースのユーザーテーブルに保持されていることを確認してください。このうち、パスワードフィールドはパスワードの保存に使用されます。
パスワードの保存形式は、認証方法と組み合わせる必要があります。
プレーンテキスト認証の場合、パスワードはプレーンテキストで保存されます。
PBKDF2WithHmacSHA1を使用する場合、形式は次のとおりです。
<code1>$<code2>
- code1:PBKDF2WithHmacSHA1を使用して生成されたパスワードの16進数でエンコードされた値
- code2:16進エンコード後のソルトの値
- $はcode1とcode2の間の区切り文字です
1.4ユーザー登録機能の実現
ユーザー登録を実装するときは、com.vip.saturn.job.console.utils.PasswordUtils.genPassword(password、salt、algorithm)またはcom.vip.saturn.job.console.utils.PasswordUtils.genPassword(password、algorithm)を使用できます。このメソッドはパスワードを生成し、それをデータベースに永続化します。このうち、passwordはプレーンテキストのパスワード、saltはsalt、algorithmは前述のアルゴリズムです。
2認可
2.1認証機能を有効にする
デフォルトでは、コンソールは許可を有効にしません。有効にする場合は、起動コンソールでパラメータ-Dauthorization.enabled.default = trueを追加してください
コンソールの起動後、システム構成で認証機能を動的に無効/有効にすることができます(コンソールを再起動する必要はありません)。
2.2。権限と権限セット(ロール)
Saturnは、次の表に示すように、さまざまな操作に対してさまざまな権限を設定し、3つの権限セット(役割)も設定しています。Saturnは現在、パーミッションとパーミッションセットを追加/変更/削除する機能を提供していません。
権限 | 所有許可コレクション |
---|---|
ジョブの開始と停止(バッチ/単一ジョブ) | システム管理、ドメイン管理、ドメイン開発管理 |
すぐに実行/すぐに終了 | システム管理、ドメイン管理 |
ジョブの追加(バッチ/単一ジョブ) | システム管理、ドメイン管理 |
ジョブ設定の更新 | システム管理、ドメイン管理 |
ジョブの削除(バッチ/単一ジョブ) | システム管理、ドメイン管理 |
ジョブのインポート/エクスポート | システム管理、ドメイン管理 |
バッチジョブの優先度 | システム管理、ドメイン管理 |
設定されたアラームが読み込まれました | システム管理、ドメイン管理 |
単一のエグゼキュータを再起動します | システム管理、ドメイン管理 |
エグゼキューターの監視(ダンプ/再起動/トラフィックの抽出) | システム管理、ドメイン管理 |
ドメイン管理権限は単一のドメインに対するものであり、システム管理はすべてのドメインに対するものであることに注意してください。
2.3ユーザー権限を追加する
ユーザーの権限を追加するには、[権限管理]ページに移動して、[権限セットの追加]ボタンをクリックします。