尝试Windows授权但返回自定义登录

时间:2013-03-19 15:55:42

标签: c# iis-7.5 httpmodule

我正在使用在以前版本的IIS中运行的模块。

http://www.velocityreviews.com/forums/t94333-re-how-do-i-create-a-httpmodule-to-authenticate-in-aspnet.html

由于集成框架,它不再有效,我无法将其更改回Classic。

客户端需要尝试访问该网站,如果他们是可以访问该网站的Windows或域用户,根据我们的数据库,他们将自动登录。如果不是,他们将被带到登录页面。

整个网站都是使用default.aspx页面运行的,该页面是每次调用动态生成的,因此我们无法拥有单独的登录页面。

是否有人知道在IIS 7 / 7.5中使其工作的模块或方法?

编辑: 下面是模块生成的javascript。好像我总是跳到我回来的地方 location.replace( “/ Default.aspx的abortScreening =真?”);

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Loading ...</title>
</head>
<body>
<script type="text/javascript" language="javascript">
    function canAuthenticate() 
    { 
        try 
        {
        alert("Try canAuthenticate");
            var dom = new ActiveXObject("Msxml2.DOMDocument.4.0");
            dom.async = false;
            dom.load("CredentialsScreeningRequiresAuthentication.aspx?ReturnUrl=");
        }
        catch(e)
        {
            return false;
        }
    return true;
    }
    if (document.cookie.length != 0)
    {
        if (canAuthenticate())
        {
            location.reload();
        }
        else 
        { 
            location.replace("/default.aspx");
        }
    }
    else
    {
        location.replace("/default.aspx?abortScreening=true");
    }
</script>
<noscript>
"Your browser does not support JavaScript or has scripting disabled, which prevents credentials screening from working."
 Please click <a href="/default.aspx?abortScreening=true">here</a> to go to the requested page without authentication.
</noscript>
</body></html>

1 个答案:

答案 0 :(得分:0)

如果不使用单独的登录页面,则无法完成。如果可以的话,那里会有解决方案,正如你可能通过谷歌搜索找到的那样,没有找到解决方案。

您有三种选择。返回经典模式,使用单独的登录页面,或者没有此功能。