Windows身份验证注销/ SigninwithDifferent用户

时间:2016-02-22 12:06:30

标签: asp.net-mvc asp.net-mvc-5 windows-authentication logout switch-user

我在ASP.NET MVC中使用Windows身份验证。

我要退出?所以我研究并发现了以下

该代码基于对Microsoft.TeamFoundation.WebAccess进行反编译,该协议具有“以不同用户身份登录”功能。

public ActionResult LogOut()
{
    HttpCookie cookie = Request.Cookies["TSWA-Last-User"];
    if(User.Identity.IsAuthenticated == false || cookie == null || StringComparer.OrdinalIgnoreCase.Equals(User.Identity.Name, cookie.Value))
    {
        string name = string.Empty;

        if(Request.IsAuthenticated)
        {
            name = User.Identity.Name;
        }

        cookie = new HttpCookie("TSWA-Last-User", name);
        Response.Cookies.Set(cookie);

        Response.AppendHeader("Connection", "close");
        Response.StatusCode = 0x191;
        Response.Clear();
        //should probably do a redirect here to the unauthorized/failed login page
        //if you know how to do this, please tap it on the comments below
        Response.Write("Unauthorized. Reload the page to try again...");
        Response.End();

        return RedirectToAction("Index");
    }

    cookie = new HttpCookie("TSWA-Last-User", string.Empty)
    {
        Expires = DateTime.Now.AddYears(-5)
    };

    Response.Cookies.Set(cookie);

    return RedirectToAction("Index");

}

以上代码是否可靠? 以及如何重定向到另一个页面,如注销成功 在回复之后。明确了。

0 个答案:

没有答案