Làm cách nào để thêm biểu mẫu đăng nhập vào trang Truy cập bị từ chối?


7

Tôi đang cố gắng thêm một hình thức đăng nhập vào trang bị từ chối truy cập và tự hỏi liệu điều này có thể thông qua UI hay không.

Bất kỳ đề xuất / ý tưởng?


1
Đặt Chặn đăng nhập trên trang gọi lại trang 404 & Sử dụng mô-đun này drupal.org/project/blocks404 hoặc sử dụng mô-đun này nếu sử dụng Drupal 7 drupal.org/project/navlation404
Rupesh 10/07/2015

Đó là lỗi "không tìm thấy trang", không phải lỗi "truy cập bị từ chối".
kiamlaluno

Câu trả lời:


4

Một giải pháp khác ở đây là mô-đun LoginToboggan . Nó cung cấp một số cải tiến khác nhau cho chức năng đăng nhập.

Mô-đun logintoboggan cung cấp một số sửa đổi của hệ thống đăng nhập drupal trong một mô-đun bên ngoài bằng cách cung cấp các tính năng và cải tiến khả năng sử dụng sau đây:

  1. cho phép người dùng đăng nhập bằng tên người dùng hoặc địa chỉ email của họ.
  2. cho phép người dùng đăng nhập ngay lập tức.
  3. cung cấp một hình thức đăng nhập trên các trang bị từ chối truy cập cho người dùng không đăng nhập (ẩn danh).
  4. mô-đun cung cấp hai tùy chọn khối đăng nhập: một sử dụng javascript để hiển thị biểu mẫu trong khối ngay khi nhấp vào "đăng nhập". cái kia đưa người dùng đến một trang riêng, nhưng trả người dùng về trang gốc của họ sau khi đăng nhập.
  5. tùy chỉnh mẫu đăng ký với hai trường e-mail để đảm bảo độ chính xác.
  6. tùy chọn chuyển hướng người dùng đến một trang cụ thể khi sử dụng tính năng 'đăng nhập ngay lập tức'.
  7. tùy chọn chuyển hướng người dùng đến một trang cụ thể sau khi xác thực địa chỉ email của họ.
  8. tùy chọn hiển thị thông báo người dùng cho biết đăng nhập thành công.
  9. tùy chọn kết hợp cả hình thức đăng nhập và đăng ký trên một trang.
  10. tùy chọn có người dùng không có giá trị thanh trừng khỏi hệ thống theo một khoảng thời gian xác định trước (vui lòng đọc phần cảnh báo của install.txt để biết thông tin quan trọng về cách định cấu hình tính năng này!).
  11. tích hợp với mô-đun quy tắc để thực hiện các tác vụ khác nhau khi người dùng xác thực qua quy trình xác thực email (xem http://drupal.org/node/880904 để biết ví dụ)

Biểu mẫu cấu hình cài đặt có một tùy chọn gọi là Biểu mẫu đăng nhập hiện tại khi bị từ chối truy cập (403) bật / tắt chức năng chính xác này.


Mô-đun LoginToboggan hoạt động như một lá bùa phải bao gồm trang 403 nhưng thật tuyệt vời, cảm ơn.
thạch46

10

Tùy chọn 1: Sử dụng mô-đun CustomError

Các CustomError mô-đun cho phép quản trị trang web để tạo các trang lỗi tùy chỉnh cho HTTP mã trạng thái 403 (access denied) và 404 (không tìm thấy), mà không cần phải tạo các nút cho mỗi người trong số họ. Một số chi tiết khác về các tính năng của nó (từ trang dự án của nó):

  • Tiêu đề và mô tả trang cấu hình.
  • Không có tiêu đề tác giả và ngày / thời gian như với các nút bình thường.
  • Bất kỳ văn bản định dạng HTML có thể được đặt trong thân trang.
  • Các trang lỗi là có thể.
  • Người dùng chưa đăng nhập và cố gắng truy cập vào một khu vực yêu cầu đăng nhập sẽ được chuyển hướng đến trang mà họ đang cố truy cập sau khi họ đăng nhập.
  • Cho phép chuyển hướng tùy chỉnh cho 404s.

Bạn nên quan tâm đến phần " Người dùng chưa đăng nhập và cố gắng truy cập vào một khu vực yêu cầu đăng nhập sẽ được chuyển hướng đến trang mà họ đang cố truy cập sau khi họ đăng nhập. ".

Tùy chọn 2: Chuyển hướng đến người dùng / đăng nhập bằng mô-đun Quy tắc

"Thêm cài đặt cho 'trang bị từ chối truy cập' và hiển thị khối 'Đăng nhập người dùng' trên trang đó" thực sự là một giải pháp nên hoạt động. Tuy nhiên, bạn có thể tiến thêm một bước này và nâng cao trải nghiệm người dùng AbitMORE. Bằng cách sử dụng một biến thể của cách tiếp cận được mô tả trong câu trả lời cho câu hỏi về " Cách chuyển hướng người dùng ẩn danh đến trang đăng nhập bằng mô-đun Rules? ".

Để làm như vậy, giả sử đường dẫn của trang "Mặc định 403" được đặt thành "no_access" (thông qua /admin/config/system/site-information, gần cuối trang quản trị viên đó). Sau đó, tạo quy tắc bằng mô-đun Quy tắc , với sự kiện như "Sau khi truy cập nút 'no_access'". Vì vậy, toàn bộ quy tắc sẽ trông giống như vậy:

  • Sự kiện: Sau khi truy cập nút 'no_access'
  • Điều kiện:

    1. Người dùng có vai trò -Parameter: User: [site:current-user], Roles: anonymous user
    2. KHÔNG so sánh văn bản -Parameter: Text: [site:current-page:url], Matching text: user/login
  • Hành động: Chuyển hướng trang -Parameter: URL: user/login

Nếu bạn muốn làm như vậy, bạn thậm chí có thể thêm một Hành động khác để hiển thị một số tin nhắn (thông tin) trong vùng tin nhắn Drupal, với nội dung như "Bạn đã cố truy cập trang cần đăng nhập ...".

Đúng, nó có thể yêu cầu bạn kích hoạt một mô-đun đóng góp thêm ( Quy tắc ). Nhưng, như được chỉ ra bởi mức độ phổ biến ngày càng tăng của nó, mô-đun đó có thể đã được kích hoạt ở hầu hết mọi trang web (tương tự mô-đun Lượt xem ), vì có hàng tá trường hợp sử dụng cho mô-đun này. Chỉ cần 1 biến thể của câu hỏi này: làm thế nào về việc nâng cao trải nghiệm người dùng cho "Không tìm thấy trang" theo cách tương tự?

Tùy chọn 3: Hiển thị khối đăng nhập người dùng trên trang chuyên dụng

Một biến thể khác, thay thế cho Quy tắc "Hành động" (để chuyển hướng đến user/login), là tạo một số nút được chỉ định, giả sử với một đường dẫn như "my_login_page_with_login_block". Và sau đó kết hợp điều này với việc định cấu hình khối "Đăng nhập người dùng" (thông qua admin/structure/block) như vậy:

  • Hiển thị khối đó trong bất kỳ khu vực chủ đề nào bạn chọn.
  • Sử dụng configureliên kết "" ở bên phải của khối đăng nhập Người dùng đó, để đặt " Cài đặt hiển thị " cho " Trang ". Tức là thay đổi tùy chọn cho " Hiển thị khối trên các trang cụ thể " thành " Chỉ các trang được liệt kê " và chỉ định đường dẫn ( my_login_page_with_login_block) trong hộp văn bản bên dưới nó. Nếu vì lý do nào đó bạn không muốn sử dụng một đường dẫn, thì chỉ cần chỉ định nút / nid (nid = id của nút) làm đường dẫn thay thế.

Xin chào Pierre, đây là một sự trợ giúp lớn, tôi sẽ thử nó và cho bạn biết làm thế nào tôi tiếp tục. Cảm ơn
thạch46 10/07/2015

1
Cảm ơn bạn đã phản hồi ... Hy vọng rằng bạn sẽ không quên một ngày nào đó "quay lại" với phản hồi của bạn về nó (sau khi bạn đã thử nó). Quá tệ, không có thứ gọi là "nhắc nhở tôi sau" (để quay lại với nó), ví dụ như được thực hiện bằng cách sử dụng một cái gì đó như 'Lập lịch quy tắc' và / hoặc "Cờ" (như chúng ta sẽ làm trong Drupal, phải không?). .. Lưu ý với bản thân: thêm tính năng như vậy trong bản phân phối "ArrayShift" ...
Pierre.Vriens

Vâng, nó đã mở rộng kiến ​​thức của tôi nhưng chưa trả lời câu hỏi, nó giúp ích rất nhiều nhưng vẫn không đến được miền đất hứa.
thạch46

Mô-đun Đăng nhậpTogoggan hoạt động như một bùa mê
thạch46

1
Tất nhiên, không có vấn đề gì, hãy coi đó là sự linh hoạt và các tùy chọn của Drupal để chọn những gì phù hợp với từng người!
Pierre.Vriens

5

Bạn có thể thêm cài đặt cho 'Mặc định 403 (truy cập bị từ chối) trang' trong cấu hình trang web (admin / config / system / site-information). Và sau đó hiển thị khối 'Đăng nhập người dùng' (quản trị viên / cấu trúc / khối / quản lý / người dùng / đăng nhập / cấu hình) trên trang này.


3

Nếu không có mô-đun LoginToboggan, người ta có thể định cấu hình khối đăng nhập Người dùng hiển thị trên các trang được chỉ định và giới hạn cho người dùng ẩn danh. Trong khối Cài đặt hiển thị cho khối đăng nhập Người dùng:

  1. Trong tab "trang", đặt "Hiển thị khối trên các trang cụ thể" thành "Chỉ các trang được liệt kê" và nhập các trang.

  2. Trong tab "Vai trò", kiểm tra "người dùng ẩn danh" cho khối Hiển thị cho cài đặt vai trò cụ thể.


2

Về lý thuyết, bạn có thể đặt trang Mặc định 403 (truy cập bị từ chối) trong Thông tin trang web thành người dùng / đăng nhập tại / admin / config / system / site-information.

Chưa bao giờ thử nó nhưng nó chỉ là một ý tưởng?


1
Ý kiến ​​tồi. Đăng nhập người dùng bị từ chối truy cập kết thúc trong vòng lặp chuyển hướng vô tận gây ra sự cố trình duyệt.
Giles B
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.