سؤال

لدي إجراء تسجيل مختفي على وحدة تحكم على النحو التالي:

    public ActionResult Logoff()
    {
        var x = Request.IsAuthenticated;
        var y = User.Identity.IsAuthenticated;

        FormsAuthentication.SignOut();
        Session.Abandon();

        var a = Request.IsAuthenticated;
        var b = User.Identity.IsAuthenticated;

        return View();
    }

ومع ذلك ، X و Y و A و B ، كلها صحيحة. لذلك عندما يعرض رأيي ، لا يزال يتصرف كما لو كان المستخدم مسجلاً. هل يمكن لشخص ما تقديم حل و/أو شرح؟

هل كانت مفيدة؟

المحلول

FormsAuthentication.SignOut() يزيل ملف تعريف ارتباط المصادقة ، لذلك تحتاج إلى إعادة التوجيه بعد ذلك بدلاً من إرجاع طريقة العرض بحيث يتم إخطار العميل:

public ActionResult Logoff()
{
    FormsAuthentication.SignOut();
    return RedirectToAction("Index");
}

الآن في Index الإجراء لن يتم مصادقة المستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top