ログイン
目的・用途
本機能は、サインアップ済みのユーザーがログインするための機能である。
利用方法
ユーザー画面のヘッダから[ログイン(Log in)]ボタンを押す。
利用可能なロール
ロール | システム 管理者 |
リポジトリ 管理者 |
コミュニティ 管理者 |
登録ユーザー | 一般ユーザー | ゲスト (未ログイン) |
---|---|---|---|---|---|---|
利用可否 | ○ | ○ | ○ | ○ | ○ | ○ |
機能内容
ユーザー画面のヘッダから[ログイン(Log in)]ボタンを押すと、ログイン画面に移動する
コンフィグの以下設定値の組み合わせに応じて、該当ログイン画面に移動する
(シボレスログイン処理について、ADMIN-14-19: Shibboleth を参照)WEKO login only:
- WEKO_ACCOUNTS_SHIB_LOGIN_ENABLED = False
WEKO login + Shibbolth(Idp):
WEKO_ACCOUNTS_SHIB_LOGIN_ENABLED = True
WEKO_ACCOUNTS_SHIB_IDP_LOGIN_ENABLED = True
WEKO login + Shibbolth(DS):
WEKO_ACCOUNTS_SHIB_LOGIN_ENABLED = True
WEKO_ACCOUNTS_SHIB_IDP_LOGIN_ENABLED = False
Shibbolth(Idp):
WEKO_ACCOUNTS_SHIB_LOGIN_ENABLED = True
WEKO_ACCOUNTS_SHIB_IDP_LOGIN_ENABLED = True
WEKO_ACCOUNTS_SHIB_INST_LOGIN_DIRECTLY_ENABLED = True
Shibbolth(DS)
WEKO_ACCOUNTS_SHIB_LOGIN_ENABLED = True
WEKO_ACCOUNTS_SHIB_IDP_LOGIN_ENABLED = False
WEKO_ACCOUNTS_SHIB_DP_LOGIN_DIRECTLY_ENABLED= True
WEKOのログイン画面からログインする
表示言語はヘッダにて選択しているシステム言語とする
メールアドレスとパスワードのテキストボックスを設ける
[ログイン(Log In)]ボタン、「サインアップ」(Sign Up)リンク、「パスワードをお忘れの方はこちら」(Forgot password?)リンクを設ける
[ログイン(Log In)]ボタンを押すと、入力した情報で、ログインリクエストを送信する
問題なければ、もともとのユーザー画面に移動する
エラーがあった場合、エラー内容を メールアドレスとパスワードのテキストボックスの上部に表示させる
メールアドレス、またはパスワードを入力しない場合
エラーメッセージ:「{} not provided」メールアドレス、またはパスワードを正しく入力しない場合
エラーメッセージ:「Specified user does not exist」
「サインアップ」(Sign Up)リンクを押すと、アカウント登録画面に移動する
「パスワードをお忘れの方はこちら」(Forgot password?)リンクを押すと、リセットパスワード画面に移動する
関連モジュール
invenio_accounts
weko-accounts
処理概要
ログイン画面の種類を決定するコンフィグは、instance.cfgまたはweko-accountsのconfig.pyで設定する。両方で設定されている場合、instance.cfgの設定が優先される。
パス(instance.cfg):
https://github.com/RCOSDP/weko/blob/v0.9.22/scripts/instance.cfgパス(config.py):
https://github.com/RCOSDP/weko/blob/v0.9.22/modules/weko-accounts/weko_accounts/config.py対象となるコンフィグは以下の通り。
WEKO_ACCOUNTS_SHIB_LOGIN_ENABLED
WEKO_ACCOUNTS_SHIB_IDP_LOGIN_ENABLED
WEKO_ACCOUNTS_SHIB_INST_LOGIN_DIRECTLY_ENABLED
ログインボタンを押すと、invenio-accountsのsessions.pyにあるlogin_listenerのadd_user_sessionメソッドが呼び出される。
ログイン時には、accounts_user_session_activityテーブルとredisにセッション情報を記録して、accounts_userテーブルの最終ログイン情報を更新する。
更新履歴
日付 | GitHubコミットID | 更新内容 |
---|---|---|
|
353ba1deb094af5056a58bb40f07596b8e95a562 | 初版作成 |