アクセス拒否ページにログインフォームを追加しようとしていますが、これはUIを介して可能かどうか疑問に思います。
提案/アイデアはありますか?
アクセス拒否ページにログインフォームを追加しようとしていますが、これはUIを介して可能かどうか疑問に思います。
提案/アイデアはありますか?
回答:
ここでの別のソリューションは、LoginTobogganモジュールです。ログイン機能に多くの異なる拡張機能を提供します。
logintobogganモジュールは、次の機能と使いやすさの向上を提供することにより、外部モジュールでdrupalログインシステムのいくつかの変更を提供します。
- ユーザーがユーザー名または電子メールアドレスを使用してログインできるようにします。
- ユーザーがすぐにログインできるようにします。
- ログインしていない(匿名)ユーザーのアクセス拒否ページにログインフォームを提供します。
- モジュールは2つのログインブロックオプションを提供します。1つはJavaScriptを使用して、[ログイン]をクリックするとすぐにブロック内のフォームを表示します。もう1つは、ユーザーを別のページに移動しますが、ログイン時にユーザーを元のページに戻します。
- 正確を期すために、2つの電子メールフィールドで登録フォームをカスタマイズします。
- 「即時ログイン」機能を使用する場合、オプションでユーザーを特定のページにリダイレクトします。
- オプションで、電子メールアドレスの検証時にユーザーを特定のページにリダイレクトします。
- 必要に応じて、ログインの成功を示すユーザーメッセージを表示します。
- オプションで、ログインフォームと登録フォームの両方を1つのページに結合します。
- オプションで、事前定義された間隔で未検証のユーザーをシステムから削除します(この機能の構成に関する重要な情報については、install.txtの警告セクションをお読みください)。
- ルールモジュールと統合して、ユーザーが電子メール検証プロセスで検証するときにさまざまなタスクを実行します(例については、http://drupal.org/node/880904を参照してください )
設定構成フォームには、「アクセス時にログインフォームを表示する」というオプション(403)があり、この機能を正確にオン/オフに切り替えます。
CustomErrorのモジュールは、サイト管理者は、HTTPステータスコード403(アクセスが拒否された)と404のカスタムエラーページを作成することができ、それらのそれぞれのノードを作成することなく、(見られません)。機能に関する詳細(プロジェクトページから):
- 構成可能なページのタイトルと説明。
- 通常のノードのように、作者と日付/時刻ヘッダーはありません。
- HTML形式のテキストはページの本文に配置できます。
- エラーページはtheableです。
- ログインしていないユーザーがログインが必要な領域にアクセスしようとすると、ログイン後にアクセスしようとしていたページにリダイレクトされます。
- 404のカスタムリダイレクトを許可します。
「ログインしていないユーザーがログインを必要とする領域にアクセスしようとすると、ログイン後にアクセスしようとしたページにリダイレクトされます。」に関する部分に関心があるはずです。
「「アクセス拒否ページ」の設定を追加し、そのページに「ユーザーログイン」ブロックを表示することは、実際に機能するソリューションです。ただし、これをもう少し進めて、ユーザーエクスペリエンスをAbitMOREで強化することもできます。「ルールモジュールを使用して匿名ユーザーをログインページにリダイレクトする方法」に関する質問への回答で説明されているアプローチのバリエーションを使用する。
これを行うには、「Default 403」ページのパスが「no_access」に設定されていると想定します(/admin/config/system/site-information
管理ページの下部にあるを介して)。次に、Rulesモジュールを使用して、「ノード「no_access」にアクセスした後」のようなイベントを含むルールを作成します。したがって、ルール全体は次のようになります。
条件:
Parameter: User: [site:current-user], Roles: anonymous user
Parameter: Text: [site:current-page:url], Matching text: user/login
アクション: ページのリダイレクト -Parameter: URL: user/login
そうする必要がある場合は、「ログインが必要なページにアクセスしようとしました...」のような(情報)メッセージをDrupalメッセージ領域に表示する別のアクションを追加することもできます。
確かに、追加の貢献モジュール(ルール)を有効にする必要があるかもしれません。ただし、その人気の高まりからもわかるように、このモジュールには数十のユースケースがあるため、そのモジュールはおそらく(Viewsモジュールと同様に)ほとんどのサイトですでに有効になっています。この質問の1つのバリエーション:「ページが見つかりません」のユーザーエクスペリエンスを同様の方法で強化してみませんか?
ルール「アクション」(にリダイレクトするuser/login
)の代替としての別のバリエーションは、「my_login_page_with_login_block」のようなパスを使用して、指定されたノードを作成することです。次に、これを「」を介して「ユーザーログイン」ブロックを次のように構成することと組み合わせますadmin/structure/block
。
configure
そのユーザーログインブロックの右側にある「」リンクを使用して、「ページ」の「表示設定」を設定します。つまり、「特定のページにブロックを表示」のオプションを「リストされたページのみ」に変更し、その下のテキストボックス内にパス()を指定します。何らかの理由でパスを使用したくない場合は、代わりにパスとしてnode / nid(nid =ノードのID)を指定します。my_login_page_with_login_block
LoginTobogganモジュールがなければ、指定されたページに表示され、匿名ユーザーに制限されるようにユーザーログインブロックを構成できます。User loginブロックのVisibility settingsブロックで:
「ページ」タブで、「特定のページにブロックを表示」を「リストされたページのみ」に設定し、ページを入力します。
[ロール]タブで、特定のロール設定の[ブロックを表示]の[匿名ユーザー]をオンにします。