Windows和匿名身份验证并排

时间:2010-11-24 09:36:59

标签: asp.net authentication

我需要有关根据用户身份验证用户的帮助。问题是:如果用户从域外进入网站,则用户必须填写登录页面,并且他提供的凭据必须从自定义凭据存储进行身份验证。如果用户是Active Directory用户,则必须将他定向到他想要的资源而不要求凭据。

如果我为Web服务器启用了匿名身份验证和Windows身份验证,则首先是Anonymous Auth,即使用户是Active Directory用户,也无法访问其域信息。

任何人都可以提供帮助吗?

2 个答案:

答案 0 :(得分:1)

我知道的一种方法是设置单个页面,如AdLogin.aspx,以拒绝匿名用户,并让该页面将其记录到Forms Authenication模块中。然后,您必须创建一个自定义401错误页面,该页面将从AdLogin重定向到您的Forms登录页面。我不喜欢的一件事是AD用户一直尝试通过Forms登录页面登录,并且很难为AdLogin页面添加书签,因为它只是进行自动重定向。我也不喜欢它依赖于自定义IIS配置。

有关详细信息,请参阅我的回答:ASP.NET Application to authenticate to Active Directory or SQL via Windows Authentication or Forms Authentication

答案 1 :(得分:0)

如何使用2种不同的Web应用程序发布网站?

您可以将内部的一个用于使用Windows Auth,而外部一个用于使用匿名。如果用户请求要求auth的站点,则允许他们进行身份验证。

您还可以在(外部)网页上发布“登录”链接,以便用户手动登录外部网站。但是如果你允许一个页面使用匿名,那么你必须考虑到你不知道用户当前是谁。