การรับรองความถูกต้องของแบบฟอร์ม Tomcat: เข้าสู่ระบบจากหน้าดัชนีแทนหน้าเข้าสู่ระบบ

ฉันใช้การรับรองความถูกต้องตามแบบฟอร์ม ดังนั้นผู้ใช้จึงต้องเข้าสู่ระบบเพื่อดูเพจที่ได้รับการป้องกันบางหน้า วิธีนี้ใช้งานได้ดี แต่ฉันต้องการที่จะเข้าสู่ระบบได้ก่อนที่จะพยายามเข้าถึงทรัพยากรที่ได้รับการป้องกัน เมื่อฉันวางแบบฟอร์มในหน้า index.jsp ของฉัน ฉันได้รับข้อผิดพลาด "การอ้างอิงโดยตรงไปยังหน้าเข้าสู่ระบบแบบฟอร์มไม่ถูกต้อง" เมื่อเข้าสู่ระบบ คำถามของฉัน: เป็นไปได้หรือไม่ที่จะเข้าสู่ระบบโดยตรงจากหน้าดัชนี (หรือหน้าอื่น ๆ ก่อนที่จะ เปลี่ยนเส้นทางไปที่หน้าเข้าสู่ระบบ)?


person user2948230    schedule 15.05.2014    source แหล่งที่มา


คำตอบ (1)


เป็นไปได้ หากคุณใช้ Tomcat เวอร์ชัน 7 ขึ้นไป

ในเวอร์ชันนี้ได้มีการเพิ่มแอตทริบิวต์ landingPage ให้กับ FormAuthenticator ซึ่งควรทำสิ่งที่คุณต้องการจากคำอธิบาย:

ควบคุมพฤติกรรมของกระบวนการตรวจสอบสิทธิ์ FORM หากใช้กระบวนการในทางที่ผิด เช่น >ตัวอย่างโดยการขอหน้าเข้าสู่ระบบโดยตรง หรือชะลอการเข้าสู่ระบบเป็นเวลานานจน >เซสชันหมดอายุ หากตั้งค่าแอตทริบิวต์นี้ แทนที่จะส่งคืนรหัสตอบกลับข้อผิดพลาด >Tomcat จะเปลี่ยนเส้นทางผู้ใช้ไปยังหน้า Landing Page ที่ระบุ หากแบบฟอร์มเข้าสู่ระบบ >ส่งพร้อมข้อมูลประจำตัวที่ถูกต้อง

ดูเอกสารประกอบ Tomcat 7

หากต้องการเพิ่มแอตทริบิวต์นั้น คุณจะต้องแก้ไข <Context> เพื่อเพิ่ม เช่น:

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

ด้วย exemple.jsp ภายใต้ข้อจำกัดด้านความปลอดภัย

person Cédric Couralet    schedule 15.05.2014
comment
ผู้คนมักจะชอบหน้าเข้าสู่ระบบที่ชื่นชอบ ดังนั้นจึงเป็นเรื่องดีที่มี แปลกที่มันเปิดตัวใน Tomcat 7 เท่านั้น... - person Dennis; 06.07.2014