Halaman pendaftaran terus dialihkan ke halaman Login di ASP.NET C#

pemrograman


Ini hanya terjadi ketika saya telah mengkonfigurasi otentikasi di file Web.config saya. Saya memerlukan ini untuk masuk. Namun bagaimana cara menghentikan pengalihan ini?

Web.config

HTML
<authentication mode="Forms">
      <forms loginUrl="~/Login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

Dan inilah URL yang saya dapatkan:

http://localhost:49575/(S(teuci1cr4nob5isksiq5rsf))/Login.aspx?ReturnUrl=%2fRegister.aspx

Solusi 1

Hal ini karena server akan mencoba membiarkan pengguna login dari satu-satunya halaman yang lokasinya telah Anda tentukan.

Ada dua cara untuk meminimalkan masalah. Solusi pertama adalah dengan menyediakan formulir pendaftaran dan login pada halaman yang sama. Dengan cara ini, Anda cukup membuat satu halaman dan pengguna dapat mendaftar, atau login dari halaman yang sama. Ini akan digunakan jika Anda ingin tetap menggunakan metode kerja web.config ini.

Namun, metode lain adalah menggunakan kelas WebSecurity dan menggunakan properti IsAuthenticated untuk menentukan apakah pengguna login atau tidak dan kemudian mengarahkannya. Anda juga akan dapat menentukan di halaman mana pengguna berada (daftar atau login; jika dia sedang login atau mendaftar maka jangan mengarahkan ulang, jika tidak arahkan dia ke halaman login atau daftar) dan kemudian biarkan dia masuk dengan register sederhana . Seperti ini,

C#
if(!WebSecurity.IsAuthenticated) {
   // No user logged in, 
   Response.Redirect("~/Login.aspx");
}

Ini akan berhasil. Saya pribadi ingin menggunakan metode kedua untuk memeriksa nilai dan status pengguna di belakang kode.

コメント

タイトルとURLをコピーしました