Itu untuk kesalahan "halaman tidak ditemukan", bukan "akses ditolak".
kiamlaluno
Jawaban:
4
Solusi lain di sini adalah modul LoginToboggan . Ini menyediakan sejumlah peningkatan berbeda untuk fungsi login.
Modul logintoboggan menawarkan beberapa modifikasi sistem login drupal dalam modul eksternal dengan menawarkan fitur berikut dan peningkatan kegunaan:
memungkinkan pengguna untuk masuk menggunakan nama pengguna atau alamat email mereka.
memungkinkan pengguna untuk masuk dengan segera.
memberikan formulir masuk pada halaman yang ditolak aksesnya untuk pengguna yang tidak masuk (anonim).
modul ini menyediakan dua opsi blok masuk: satu menggunakan javascript untuk menampilkan formulir di dalam blok segera setelah mengklik "masuk". yang lain membawa pengguna ke halaman terpisah, tetapi mengembalikan pengguna ke halaman aslinya saat login.
sesuaikan formulir pendaftaran dengan dua bidang email untuk memastikan keakuratan.
secara opsional mengarahkan pengguna ke halaman tertentu ketika menggunakan fitur 'login langsung'.
secara opsional mengarahkan pengguna ke halaman tertentu setelah validasi alamat email mereka.
opsional menampilkan pesan pengguna yang menunjukkan login berhasil.
secara opsional menggabungkan formulir login dan pendaftaran pada satu halaman.
secara opsional ada pengguna yang tidak divalidasi dibersihkan dari sistem pada interval yang ditentukan sebelumnya (silakan baca bagian peringatan dari install.txt untuk informasi penting tentang konfigurasi fitur ini!).
terintegrasi dengan modul aturan untuk melakukan berbagai tugas ketika pengguna memvalidasi melalui proses validasi email (lihat
http://drupal.org/node/880904 untuk contoh)
Formulir konfigurasi pengaturan memiliki opsi yang disebut formulir login Sekarang pada akses ditolak (403) yang mengaktifkan / menonaktifkan fungsi yang tepat ini.
Modul LoginToboggan bekerja seperti mantra harus menyertakan halaman 403 tapi itu super, terima kasih.
jelly46
10
Opsi 1: Gunakan modul CustomError
The CustomError modul memungkinkan admin situs untuk membuat halaman kesalahan kustom untuk kode status HTTP 403 (akses ditolak) dan 404 (tidak ditemukan), tanpa perlu membuat node untuk masing-masing. Beberapa detail lebih lanjut tentang fitur-fiturnya (dari halaman proyeknya):
Judul dan deskripsi halaman yang dapat dikonfigurasi.
Tidak ada header penulis dan tanggal / waktu seperti dengan node normal.
Teks berformat HTML apa pun dapat diletakkan di badan laman.
Halaman-halaman kesalahan bisa bertema.
Pengguna yang tidak masuk dan mencoba mengakses area yang memerlukan login akan diarahkan ke halaman yang mereka coba akses setelah mereka login.
Mengizinkan pengalihan khusus untuk 404s.
Anda harus tertarik pada bagian tentang " Pengguna yang tidak masuk dan mencoba mengakses area yang memerlukan login akan diarahkan ke halaman yang mereka coba akses setelah mereka login. ".
Opsi 2: Redirect ke pengguna / masuk menggunakan modul Aturan
"Menambahkan pengaturan untuk halaman 'akses ditolak' dan menampilkan blok 'Login pengguna' pada halaman itu" memang merupakan solusi yang seharusnya bekerja. Namun, Anda dapat mengambil ini sedikit lebih jauh, dan meningkatkan pengalaman pengguna AbitMORE. Dengan menggunakan variasi pendekatan yang dijelaskan dalam jawaban pertanyaan tentang " Bagaimana cara mengarahkan pengguna anonim ke halaman login menggunakan modul Aturan? ".
Untuk melakukannya, anggap jalur halaman "Default 403" disetel ke "no_access" (via /admin/config/system/site-information, dekat bagian bawah halaman admin itu). Kemudian buat aturan menggunakan modul Aturan , dengan sebagai Peristiwa sesuatu seperti "Setelah mengunjungi simpul 'no_access'". Sehingga seluruh aturan akan terlihat seperti ini:
Acara: Setelah mengunjungi simpul 'no_access'
Kondisi:
Pengguna memiliki peran -Parameter: User: [site:current-user], Roles: anonymous user
BUKAN perbandingan teks -Parameter: Text: [site:current-page:url], Matching text: user/login
Jika Anda ingin melakukannya, Anda bahkan dapat menambahkan Tindakan lain untuk juga menampilkan beberapa pesan (informasi) di area pesan Drupal, dengan sesuatu seperti "Anda mencoba mengunjungi halaman yang memerlukan login ...".
Benar, itu mungkin mengharuskan Anda untuk mengaktifkan modul kontribusi tambahan ( Aturan ). Tetapi, seperti yang ditunjukkan oleh popularitasnya yang meningkat, modul itu mungkin sudah diaktifkan di sebagian besar situs mana pun (mirip dengan modul Views ), karena ada lusinan kasus penggunaan untuk modul ini. Hanya 1 variasi dari pertanyaan ini: bagaimana dengan meningkatkan pengalaman pengguna untuk "Halaman tidak ditemukan" dengan cara yang sama?
Opsi 3: Tampilkan blok masuk Pengguna pada halaman khusus
Variasi lain, sebagai alternatif dari Aturan "Aksi" (untuk mengarahkan ulang user/login), adalah membuat beberapa simpul yang ditunjuk, katakan dengan jalur seperti "my_login_page_with_login_block". Dan kemudian gabungkan ini dengan mengonfigurasi blok "Login pengguna" (via admin/structure/block) seperti:
Tampilkan blok itu di wilayah tema apa pun pilihan Anda.
Gunakan tautan " configure" di sebelah kanan blok login Pengguna, untuk mengatur " Pengaturan visibilitas " untuk " Halaman ". Yaitu mengubah opsi untuk " Tampilkan blok pada halaman tertentu " menjadi " Hanya halaman yang terdaftar ", dan tentukan path ( my_login_page_with_login_block) di dalam kotak teks di bawahnya. Jika karena alasan tertentu Anda tidak ingin menggunakan jalur, maka cukup tentukan node / nid (nid = id dari node) sebagai jalur sebagai gantinya.
Hai Pierre, ini sangat membantu, saya akan mencoba ini dan memberi tahu Anda bagaimana caranya. Terima kasih
jelly46
1
Terima kasih atas umpan baliknya ... Semoga Anda tidak akan lupa suatu hari "kembali" dengan umpan balik Anda tentang hal itu (setelah Anda mencobanya). Sayang sekali tidak ada yang namanya "ingatkan saya nanti" (untuk kembali ke sana), misalnya diimplementasikan menggunakan sesuatu seperti 'Penjadwal Aturan' dan / atau "Tandai '(seperti yang akan kita lakukan di Drupal, kan?). .. Catatan untuk diri saya sendiri: tambahkan fitur seperti itu dalam distribusi "ArrayShift" ...
Pierre.Vriens
Yah itu telah memperluas pengetahuan saya tetapi belum menjawab pertanyaan, ini merupakan bantuan besar tetapi masih belum mencapai tanah yang dijanjikan.
jelly46
Modul LoginTogoggan bekerja seperti pesona
jelly46
1
Tidak masalah tentu saja, mari kita anggap itu sebagai fleksibilitas dan opsi Drupal untuk memilih yang tepat untuk semua orang secara individu!
Pierre.Vriens
5
Anda dapat menambahkan pengaturan untuk 'Default 403 (akses ditolak) halaman' dalam konfigurasi situs (admin / config / sistem / informasi-situs). Dan kemudian tampilkan blok 'Login pengguna' (admin / struktur / blok / kelola / pengguna / login / konfigurasi) di halaman ini.
Tanpa modul LoginToboggan orang dapat mengkonfigurasi blok login Pengguna agar terlihat pada halaman yang ditunjuk dan dibatasi untuk pengguna anonim. Dalam blok pengaturan Visibilitas untuk blok login Pengguna:
Di tab "halaman", set "Tampilkan blok pada halaman tertentu" menjadi "Hanya halaman yang terdaftar" dan masukkan halaman.
Di tab "Peran", centang "pengguna anonim" untuk blok Tampilkan untuk pengaturan peran tertentu.
Secara teori, Anda dapat mengatur halaman Default 403 (akses ditolak) di bawah Informasi situs menjadi pengguna / login di / admin / config / sistem / informasi-situs.
Jawaban:
Solusi lain di sini adalah modul LoginToboggan . Ini menyediakan sejumlah peningkatan berbeda untuk fungsi login.
Formulir konfigurasi pengaturan memiliki opsi yang disebut formulir login Sekarang pada akses ditolak (403) yang mengaktifkan / menonaktifkan fungsi yang tepat ini.
sumber
Opsi 1: Gunakan modul CustomError
The CustomError modul memungkinkan admin situs untuk membuat halaman kesalahan kustom untuk kode status HTTP 403 (akses ditolak) dan 404 (tidak ditemukan), tanpa perlu membuat node untuk masing-masing. Beberapa detail lebih lanjut tentang fitur-fiturnya (dari halaman proyeknya):
Anda harus tertarik pada bagian tentang " Pengguna yang tidak masuk dan mencoba mengakses area yang memerlukan login akan diarahkan ke halaman yang mereka coba akses setelah mereka login. ".
Opsi 2: Redirect ke pengguna / masuk menggunakan modul Aturan
"Menambahkan pengaturan untuk halaman 'akses ditolak' dan menampilkan blok 'Login pengguna' pada halaman itu" memang merupakan solusi yang seharusnya bekerja. Namun, Anda dapat mengambil ini sedikit lebih jauh, dan meningkatkan pengalaman pengguna AbitMORE. Dengan menggunakan variasi pendekatan yang dijelaskan dalam jawaban pertanyaan tentang " Bagaimana cara mengarahkan pengguna anonim ke halaman login menggunakan modul Aturan? ".
Untuk melakukannya, anggap jalur halaman "Default 403" disetel ke "no_access" (via
/admin/config/system/site-information
, dekat bagian bawah halaman admin itu). Kemudian buat aturan menggunakan modul Aturan , dengan sebagai Peristiwa sesuatu seperti "Setelah mengunjungi simpul 'no_access'". Sehingga seluruh aturan akan terlihat seperti ini:Kondisi:
Parameter: User: [site:current-user], Roles: anonymous user
Parameter: Text: [site:current-page:url], Matching text: user/login
Tindakan: Pengalihan halaman -
Parameter: URL: user/login
Jika Anda ingin melakukannya, Anda bahkan dapat menambahkan Tindakan lain untuk juga menampilkan beberapa pesan (informasi) di area pesan Drupal, dengan sesuatu seperti "Anda mencoba mengunjungi halaman yang memerlukan login ...".
Benar, itu mungkin mengharuskan Anda untuk mengaktifkan modul kontribusi tambahan ( Aturan ). Tetapi, seperti yang ditunjukkan oleh popularitasnya yang meningkat, modul itu mungkin sudah diaktifkan di sebagian besar situs mana pun (mirip dengan modul Views ), karena ada lusinan kasus penggunaan untuk modul ini. Hanya 1 variasi dari pertanyaan ini: bagaimana dengan meningkatkan pengalaman pengguna untuk "Halaman tidak ditemukan" dengan cara yang sama?
Opsi 3: Tampilkan blok masuk Pengguna pada halaman khusus
Variasi lain, sebagai alternatif dari Aturan "Aksi" (untuk mengarahkan ulang
user/login
), adalah membuat beberapa simpul yang ditunjuk, katakan dengan jalur seperti "my_login_page_with_login_block". Dan kemudian gabungkan ini dengan mengonfigurasi blok "Login pengguna" (viaadmin/structure/block
) seperti:configure
" di sebelah kanan blok login Pengguna, untuk mengatur " Pengaturan visibilitas " untuk " Halaman ". Yaitu mengubah opsi untuk " Tampilkan blok pada halaman tertentu " menjadi " Hanya halaman yang terdaftar ", dan tentukan path (my_login_page_with_login_block
) di dalam kotak teks di bawahnya. Jika karena alasan tertentu Anda tidak ingin menggunakan jalur, maka cukup tentukan node / nid (nid = id dari node) sebagai jalur sebagai gantinya.sumber
Anda dapat menambahkan pengaturan untuk 'Default 403 (akses ditolak) halaman' dalam konfigurasi situs (admin / config / sistem / informasi-situs). Dan kemudian tampilkan blok 'Login pengguna' (admin / struktur / blok / kelola / pengguna / login / konfigurasi) di halaman ini.
sumber
Tanpa modul LoginToboggan orang dapat mengkonfigurasi blok login Pengguna agar terlihat pada halaman yang ditunjuk dan dibatasi untuk pengguna anonim. Dalam blok pengaturan Visibilitas untuk blok login Pengguna:
Di tab "halaman", set "Tampilkan blok pada halaman tertentu" menjadi "Hanya halaman yang terdaftar" dan masukkan halaman.
Di tab "Peran", centang "pengguna anonim" untuk blok Tampilkan untuk pengaturan peran tertentu.
sumber
Secara teori, Anda dapat mengatur halaman Default 403 (akses ditolak) di bawah Informasi situs menjadi pengguna / login di / admin / config / sistem / informasi-situs.
Belum pernah mencobanya tapi itu hanya ide?
sumber