0

我试图找出是否可以检测用户是否从给定域(网络域而不是网站域)访问该站点,例如该businessname.local域上的机器。

我目前Forms为非常合适的网站实施身份验证。我正在考虑Intranet为公司实施一个网站。

这将是一个完全独立于主站点的项目。我的目标是检测用户计算机是否在域中,并为他们提供访问的选项Intranet,如果他们愿意,我会重定向用户。

这可能吗?

编辑:

只是为了澄清。我不是在询问是否为Intranet站点实施 Active-Directory 身份验证(我知道如何执行此操作)。我只是想知道是否存在一种方法来检测域并提供重定向是否适用于给定用户。

4

2 回答 2

0

检测用户是否在域内还不错。使用这行代码:

HttpContext.User.Identity.Name

从那里,你会得到这样的东西:域\用户名。只需操纵字符串以查看域并从那里提供重定向。放置在控制器中很容易,例如放在索引页面等中。

于 2012-11-28T20:54:08.310 回答
0

我想出的解决该问题的解决方案是Controller在 Intranet 站点上创建一个,该站点仅用于返回一个truefalse依赖于访问它的机器的 Active Directory 身份验证。

预期的结果只是显示重定向选项......不显示实际内容,所以我不认为这会引发任何安全问题(如果我错了,请纠正我)。

$(document).ready(function () {
    $.get('URL-to-test-controller', function (data) {
        if ($.trim(data) === "true") {
            if (askAboutRedirect()) {
                window.location = "intranetaddress";
            }
        }
    });
});

由于跨域问题,Controller提供的结果具有Access-Control-Allow-Origin标头集...

Response.AddHeader("Access-Control-Allow-Origin", "requesting server");

根据W3.org

于 2012-12-06T21:05:32.457 回答