微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – Intranet / Internet的Windows身份验证

我正在为我公司开发一个ASP.net Web应用程序.一些用户在内部网络(Intranet)中使用此网站,有些用户使用Internet站点.我正在使用 Windows身份验证模式.

我需要找到一种方法,不能为Intranet用户提示Windows身份验证模式,并为Internet用户提示Windows身份验证模式.

我该怎么做?

解决方法

根据您的描述,IIS中的Windows身份验证将会做到这一点.

首先一些链接

> Technet作为一篇关于Windows Authentication in IIS here文章
> MSDN告诉你how to use Windows Authentication with ASP.NET 2.0 applications here

但请注意以下事项:

如果满足以下条件,单点登录(SSO)(即访问应用程序而不提供用户名和密码)将会发生:

>客户端计算机和服务器是同一Active Directory域的一部分.
>客户端计算机上的用户会话是AD域中的用户.
>客户端计算机可以访问域服务器(即负责用户登录的服务器)
>浏览器是Internet Explorer.
>使用的URL指向服务器的FQDN(即http://SERVERNAME.DOMAIN.NAME/不仅仅是http://SERVERNAME/
>如果您使用冒号,授权用户必须具有对应用程序目录的读取访问权限.应用程序将基本上运行他们的凭据. (MSDN article更多细节)

在任何其他情况下,用户将被提示为Active Directory域中的帐户提供凭据(用户名和密码).所以用户从互联网访问您的网络服务器会得到一个弹出窗口,要求他们提供一个用户名和密码.

请注意,对于不使用单一登录(用户提示输入用户名和密码)的用户,HTTP身份验证模式很可能是BASIC,这意味着任何可以拦截该连接的人都可以看到要交换的用户名和密码.如果你使用这种技术使得客户端和服务器之间的连接被加密(HTTPS或者也许是VPN).

原文地址:https://www.jb51.cc/aspnet/245812.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐