C# CompareValidator, Menggunakan Sesi untuk mendapatkan ControlToCompare dari Halaman Sebelumnya

Saya punya dua halaman. Halaman pertama merupakan halaman registrasi dimana user membuat user name dan password. Halaman kedua adalah halaman login, dimana pengguna memasukkan nama pengguna dan kata sandinya. Saya ingin menggunakan CompareValidator untuk memastikan nama pengguna dan kata sandi cocok dengan kredensial yang mereka buat. Saya pikir saya bisa memanggil TextBox dari halaman registrasi, di ControlToCompare saya:

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

Sepertinya saya tidak dapat menemukan apa pun tentang masalah khusus ini. Adakah yang punya saran tentang bagaimana hal ini bisa dilakukan?


person Bob    schedule 15.10.2017    source sumber
comment
Tidak, Anda tidak dapat mengambil TextBoxLogIn dari halaman pertama. Dan untuk otentikasi Anda tidak perlu melakukan hal CompareValidator di sisi klien. Anda dapat memvalidasi informasi login pengguna di sisi server yaitu dalam kode di belakang   -  person shahsani    schedule 15.10.2017
comment
#shahsani, saya mengerti bahwa saya bisa melakukannya dari sisi server, tetapi bisakah Anda memanggil informasi dari kotak teks dari halaman sebelumnya, di CompareValidator?   -  person Bob    schedule 15.10.2017
comment
Tidak, Anda tidak dapat mengakses bidang halaman sebelumnya di halaman saat ini!   -  person shahsani    schedule 15.10.2017
comment
Jika pendaftaran pengguna berhasil maka saat login nama pengguna dan kata sandi harus divalidasi terhadap database. Meskipun Anda dapat mengakses kontrol halaman sebelumnya, tidak disarankan untuk membandingkannya untuk memvalidasi pengguna untuk login.   -  person Chetan Ranpariya    schedule 15.10.2017


Jawaban (1)


Ini adalah perilaku klasik http - tidak memiliki kewarganegaraan yaitu, setelah respons dikirim, transaksi selesai dan hilang.

Server atau klien (browser Anda)lah yang harus melacak data.

Jadi untuk mengakses data halaman 1 dari halaman 2, pertama-tama simpan data halaman 1 di suatu tempat - baik di cache browser atau variabel sesi server.

TETAPI

Saya tidak akan pernah menyimpan kata sandi di mana pun selain server LDAP - bahkan di sana kata sandi dienkripsi dan kemudian disimpan.

Browser: Penyimpanan Lokal vs Cookie

Server: https://msdn.microsoft.com/en-us/library/75x4ha6s.aspx

person Shree Harsha    schedule 16.10.2017