C # CompareValidator ใช้เซสชันเพื่อรับ ControlToCompare จากหน้าก่อนหน้า

ฉันมีสองหน้า หน้าแรกเป็นหน้าลงทะเบียนที่ผู้ใช้สร้างชื่อผู้ใช้และรหัสผ่าน หน้าที่สองเป็นหน้าเข้าสู่ระบบซึ่งผู้ใช้กรอกชื่อผู้ใช้และรหัสผ่าน ฉันต้องการใช้ CompareValidator เพื่อให้แน่ใจว่าชื่อผู้ใช้และรหัสผ่านตรงกับข้อมูลประจำตัวที่พวกเขาสร้างขึ้น ฉันคิดว่าฉันสามารถเรียกกล่องข้อความได้จากหน้าการลงทะเบียนใน ControlToCompare ของฉัน:

//TextBoxLogIn is from the first page
<asp:CompareValidator ID="CompareValidatorUserName" runat="server" ErrorMessage="Wrong User Name" ForeColor="Red" ControlToCompare="TextBoxLogIn" ControlToValidate="TextBoxUserName"></asp:CompareValidator>

ดูเหมือนว่าฉันไม่พบสิ่งใดเกี่ยวกับปัญหาเฉพาะนี้ ใครบ้างมีข้อเสนอแนะเกี่ยวกับวิธีการนี้สามารถทำได้?


person Bob    schedule 15.10.2017    source แหล่งที่มา
comment
ไม่ คุณไม่สามารถรับ TextBoxLogIn จากหน้าแรกได้ และสำหรับการตรวจสอบสิทธิ์ คุณไม่จำเป็นต้องดำเนินการประเภท CompareValidator ฝั่งไคลเอ็นต์ คุณสามารถตรวจสอบข้อมูลการเข้าสู่ระบบของผู้ใช้ทางฝั่งเซิร์ฟเวอร์ได้ เช่น ในโค้ดด้านหลัง   -  person shahsani    schedule 15.10.2017
comment
#shahsani ฉันเข้าใจว่าสามารถทำได้จากฝั่งเซิร์ฟเวอร์ แต่คุณสามารถเรียกข้อมูลจากกล่องข้อความจากหน้าก่อนหน้าใน CompareValidator ได้หรือไม่   -  person Bob    schedule 15.10.2017
comment
ไม่ คุณไม่สามารถเข้าถึงฟิลด์ของหน้าก่อนหน้าในหน้าปัจจุบันได้!   -  person shahsani    schedule 15.10.2017
comment
หากการลงทะเบียนของผู้ใช้สำเร็จ ระหว่างการเข้าสู่ระบบชื่อผู้ใช้และรหัสผ่านควรได้รับการตรวจสอบกับฐานข้อมูล แม้ว่าคุณจะสามารถเข้าถึงการควบคุมหน้าก่อนหน้าได้ แต่ก็ไม่แนะนำให้เปรียบเทียบกับการควบคุมเหล่านี้ในการตรวจสอบผู้ใช้สำหรับการเข้าสู่ระบบ   -  person Chetan Ranpariya    schedule 15.10.2017


คำตอบ (1)


นี่เป็นพฤติกรรมคลาสสิกของ http - ไม่มีสถานะ เช่น เมื่อส่งการตอบกลับ ธุรกรรมจะเสร็จสมบูรณ์และหายไป

เป็นเซิร์ฟเวอร์หรือไคลเอนต์ (เบราว์เซอร์ของคุณ) ที่ต้องติดตามข้อมูล

ดังนั้นในการเข้าถึงข้อมูลของหน้าที่ 1 จากหน้าที่ 2 ก่อนอื่นให้เก็บข้อมูลของหน้าที่ 1 ไว้ที่ใดที่หนึ่ง ไม่ว่าจะเป็นแคชของเบราว์เซอร์หรือตัวแปรเซสชันของเซิร์ฟเวอร์

แต่

ฉันจะไม่เก็บรหัสผ่านไว้ที่อื่นนอกจากเซิร์ฟเวอร์ LDAP แม้ว่ารหัสผ่านจะถูกเข้ารหัสและเก็บไว้ที่นั่นก็ตาม

เบราว์เซอร์: ที่เก็บข้อมูลในเครื่องเทียบกับคุกกี้

เซิร์ฟเวอร์: https://msdn.microsoft.com/en-us/library/75x4ha6s.aspx

person Shree Harsha    schedule 16.10.2017