تستمر صفحة التسجيل في إعادة التوجيه إلى صفحة تسجيل الدخول في ASP.NET C#

برمجة


يحدث هذا فقط عندما يتم تكوين المصادقة في ملف Web.config الخاص بي. أحتاج إلى هذا لتسجيل الدخول. ولكن كيف يمكنني إيقاف عملية إعادة التوجيه هذه؟

Web.config

لغة البرمجة
<authentication mode="Forms">
      <forms loginUrl="~/Login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

وهنا عنوان URL الذي أحصل عليه:

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

الحل 1

وذلك لأن الخادم سيحاول السماح للمستخدم بتسجيل الدخول من هذه الصفحة الوحيدة التي حددت موقعها.

هناك طريقتان لتقليل المشكلة. الحل الأول هو توفير نموذج التسجيل وتسجيل الدخول في نفس الصفحة. بهذه الطريقة، يمكنك فقط إنشاء صفحة واحدة وسيتمكن المستخدم من التسجيل أو تسجيل الدخول من نفس الصفحة. سيتم استخدام هذا إذا كنت تريد الالتزام بطريقة عمل web.config هذه.

ومع ذلك، هناك طريقة أخرى تستخدم فئة WebSecurity واستخدام خاصية IsAuthenticated الخاصة بها لتحديد ما إذا كان المستخدم قد قام بتسجيل الدخول أم لا ثم إعادة توجيهه. ستتمكن أيضًا من تحديد الصفحة التي يوجد بها المستخدم (التسجيل أو تسجيل الدخول؛ إذا كان مسجلاً أو مسجلاً، فلا تقم بإعادة التوجيه، وإلا أعد توجيهه إلى صفحة تسجيل الدخول أو التسجيل) ثم اسمح له بتسجيل الدخول عن طريق تسجيل بسيط . مثله،

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

هذا من شأنه أن يفي بالغرض. أرغب شخصيًا في استخدام الطريقة الثانية للتحقق من قيم وحالة المستخدمين في الكود الخلفي.

コメント

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