Otentikasi formulir Tomcat: masuk dari halaman indeks, bukan halaman masuk

Saya menggunakan otentikasi berbasis formulir sehingga pengguna harus masuk untuk melihat halaman tertentu yang dilindungi. Ini berfungsi dengan baik, tetapi saya ingin bisa masuk sebelum mencoba mengakses sumber daya yang dilindungi. Ketika saya menempatkan formulir di halaman index.jsp saya mendapatkan kesalahan "Referensi langsung ke halaman login formulir" tidak valid saat masuk. Pertanyaan saya: apakah mungkin untuk login langsung dari halaman indeks (atau halaman lain, sebelum menjadi diarahkan ke halaman login)?


person user2948230    schedule 15.05.2014    source sumber


Jawaban (1)


Itu mungkin, asalkan Anda menggunakan Tomcat versi 7 atau lebih baru.

Dengan versi ini telah ditambahkan atribut landingPage ke FormAuthenticator yang akan melakukan apa yang Anda inginkan dari deskripsi:

Mengontrol perilaku proses otentikasi FORM jika proses disalahgunakan, misalnya dengan meminta langsung halaman login atau menunda login terlalu lama hingga sesi berakhir. Jika atribut ini disetel, alih-alih mengembalikan kode respons kesalahan, >Tomcat akan mengarahkan pengguna ke laman landas yang ditentukan jika formulir masuk >dikirim dengan kredensial yang valid.

lihat dokumentasi Tomcat 7.

Untuk menambahkan atribut tersebut, Anda harus memodifikasi <Context> untuk menambahkan, misalnya:

<Valve className="org.apache.catalina.authenticator.FormAuthenticator" landingPage="exemple.jsp" />

dengan exemple.jsp di bawah batasan keamanan.

person Cédric Couralet    schedule 15.05.2014
comment
Orang-orang cenderung memfavoritkan halaman login jadi ini bagus untuk dimiliki, aneh karena ini hanya diperkenalkan di Tomcat 7... - person Dennis; 06.07.2014