我试图找出是否可以检测用户是否从某个域(网络域而非网站域)访问该网站,例如businessname.local
域上的计算机。
我目前正在为网站实施Forms
身份验证,非常适合。我正在为公司实施Intranet
网站。
这将是与主站点完全独立的项目。我的目标是检测用户计算机是否在域上并向他们提供访问Intranet
的选项,如果他们希望这样做,那么我会重定向用户。
这可能吗?
编辑:
只是为了澄清。我不是要求为Intranet
站点实现Active-Directory身份验证(我知道如何执行此操作)。我只是想知道我是否存在检测域的方法,并提供重定向,如果它适用于给定用户。
答案 0 :(得分:0)
检测用户是否在域内也不错。使用以下代码行:
HttpContext.User.Identity.Name
从那里,你会得到这样的东西:domain \ username。只需操纵字符串即可查看域名,并从那里提供重定向。放在Controller中很容易,比如在索引页面等等。
答案 1 :(得分:0)
我提出的解决问题的解决方案是在Intranet站点上创建一个Controller
,它仅用于返回true
或false
,具体取决于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