ฉันใช้การรับรองความถูกต้องตามแบบฟอร์ม ดังนั้นผู้ใช้จึงต้องเข้าสู่ระบบเพื่อดูเพจที่ได้รับการป้องกันบางหน้า วิธีนี้ใช้งานได้ดี แต่ฉันต้องการที่จะเข้าสู่ระบบได้ก่อนที่จะพยายามเข้าถึงทรัพยากรที่ได้รับการป้องกัน เมื่อฉันวางแบบฟอร์มในหน้า index.jsp ของฉัน ฉันได้รับข้อผิดพลาด "การอ้างอิงโดยตรงไปยังหน้าเข้าสู่ระบบแบบฟอร์มไม่ถูกต้อง" เมื่อเข้าสู่ระบบ คำถามของฉัน: เป็นไปได้หรือไม่ที่จะเข้าสู่ระบบโดยตรงจากหน้าดัชนี (หรือหน้าอื่น ๆ ก่อนที่จะ เปลี่ยนเส้นทางไปที่หน้าเข้าสู่ระบบ)?
การรับรองความถูกต้องของแบบฟอร์ม Tomcat: เข้าสู่ระบบจากหน้าดัชนีแทนหน้าเข้าสู่ระบบ
คำตอบ (1)
เป็นไปได้ หากคุณใช้ Tomcat เวอร์ชัน 7 ขึ้นไป
ในเวอร์ชันนี้ได้มีการเพิ่มแอตทริบิวต์ landingPage
ให้กับ FormAuthenticator
ซึ่งควรทำสิ่งที่คุณต้องการจากคำอธิบาย:
ควบคุมพฤติกรรมของกระบวนการตรวจสอบสิทธิ์ FORM หากใช้กระบวนการในทางที่ผิด เช่น >ตัวอย่างโดยการขอหน้าเข้าสู่ระบบโดยตรง หรือชะลอการเข้าสู่ระบบเป็นเวลานานจน >เซสชันหมดอายุ หากตั้งค่าแอตทริบิวต์นี้ แทนที่จะส่งคืนรหัสตอบกลับข้อผิดพลาด >Tomcat จะเปลี่ยนเส้นทางผู้ใช้ไปยังหน้า Landing Page ที่ระบุ หากแบบฟอร์มเข้าสู่ระบบ >ส่งพร้อมข้อมูลประจำตัวที่ถูกต้อง
หากต้องการเพิ่มแอตทริบิวต์นั้น คุณจะต้องแก้ไข <Context>
เพื่อเพิ่ม เช่น:
<Valve className="org.apache.catalina.authenticator.FormAuthenticator" landingPage="exemple.jsp" />
ด้วย exemple.jsp
ภายใต้ข้อจำกัดด้านความปลอดภัย
person
Cédric Couralet
schedule
15.05.2014
ผู้คนมักจะชอบหน้าเข้าสู่ระบบที่ชื่นชอบ ดังนั้นจึงเป็นเรื่องดีที่มี แปลกที่มันเปิดตัวใน Tomcat 7 เท่านั้น...
- person Dennis; 06.07.2014