从Windows身份验证注销


logout from windows authentication

在我的公司,我设计了一个php-mysql-jquery的内网库存网站。web服务器(iis8)托管在一台连接到Active directory的windows 8机器上。我需要为我的网站提供AD身份验证,为此我启用了windows身份验证功能,以便在用户访问我的网站之前对其进行身份验证。

该功能工作正常,用户现在可以登录!但我需要他们从网站注销。但我在互联网上找不到任何代码来做到这一点。我现在需要做的是,告诉用户重新启动浏览器并清除浏览器历史记录。有人知道这个吗?有没有别的办法?

我试过这个代码

html><head>
<script type="text/javascript">
function logout() {
    var xmlhttp;
    if (window.XMLHttpRequest) {
          xmlhttp = new XMLHttpRequest();
    }
    // code for IE
    else if (window.ActiveXObject) {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (window.ActiveXObject) {
      // IE clear HTTP Authentication
      document.execCommand("ClearAuthenticationCache");
      window.location.href='/where/to/redirect';
    } else {
        xmlhttp.open("GET", '/path/that/will/return/200/OK', true, "logout", "logout");
        xmlhttp.send("");
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4) {window.location.href='/where/to/redirect';}
        }

    }

    return false;
}
</script>
</head>
<body>
<a href="#" onclick="logout();">Log out</a>
</body>
</html>

/path/that/will/return/200/OK是什么

如果我明白了。

你是否在$_SESSION中存储变量来保存你的用户记录?

如果是,您可以创建一个注销文件并放置会话销毁。如果您使用cookie,您需要清除注销文件中的cookie。