在ASP.net C#页面中自定义Windows Active Directory身份验证

时间:2012-07-25 22:59:52

标签: active-directory windows-authentication asp.net-authentication custom-authentication

我希望能够进行混合窗口和表单身份验证。

//I want to check the browser the user is using
If(IE || chome)//I know IE and chrome can authenticate without a popup login box
{
    //check windows authentication
    if(generic AD account || AD user doesn't have permissions for this application)
    {
        //Redirect to login page
    }
    else
    {
        //Redirect to main page
    }
}
elsif(IPad || android || Firefox)
{
    //Redirect to login page
}

有没有办法创建一些自定义代码以使用javascript获取Windows AD身份验证,还是可以创建自定义ashx页面来检查身份验证?

1 个答案:

答案 0 :(得分:1)

我没有找到任何方法只在代码中执行此操作。我最终采用了这种方法 http://msdn.microsoft.com/en-us/library/ms972958.aspx 并略微修改它。它通过grphical接口对IIS中的设置进行了一些更改。我也不想要表单身份验证,因此我将其更改为无以进行身份​​验证,我在主页中添加了一些代码来检查cookie并重定向到可以使用javascript检查浏览器类型然后重定向到自动登录的页面登录页面。我不喜欢这种方法意味着我必须在IIS中进行手动更改,因为当必须在新服务器上添加网站时,这会增加很多时间来设置网站,但这是我能找到的唯一方法。

到目前为止,这让我做了我曾经想要做的所有事情但却无法使用正常的身份验证方法(添加会话倒计时器,检查服务中的会话变量,组合活动目录和自定义身份验证,通知用户,如果他们从多个位置登录)但它已经采取了更多的编码和测试,以使其工作比我想象的那样。在我很高兴它能够在真实用户开始使用它之后正常工作之前,我仍然会做更多的测试。因此,如果有人对另一种方式有任何建议可以做到这一点,我仍然会以其他方式做到这一点。