不同页面的不同认证机制

时间:2011-08-04 10:10:45

标签: asp.net authentication web-config

我正在使用当前仅在Intranet中使用的ASP.NET应用程序。它的身份验证模式是集成Windows安全性。我现在要求使用基于表单的身份验证在外部可见系统的一部分。

是否可以在web.config中设置身份验证,以便访问其中一个页面通过Forms,而其他页面使用集成身份验证?可以使用单个web.config来完成,还是需要一个带有自己的web.config文件的子文件夹?

我知道我可以为外部部件创建一个单独的应用程序,但这意味着移动常见部分,理想情况下我想避免使用。

2 个答案:

答案 0 :(得分:0)

authentification-tag只能位于Machine.config,Root-level Web.config,Application-level Web.config(source)。

我认为您应该在IIS中为每个授权模式创建新网站,并添加指向源代码位置的虚拟目录。每个网站都应该有自定义web.config和授权设置。

答案 1 :(得分:0)

您可以设置两个MembershipProvider来使用FormsAuthentication对用户进行身份验证。

例如,如果您希望应用程序使用ActiveDirectory对Intranet用户进行身份验证,您将选择第一个MembersipProvider,而其他人则选择第二个(您只需在登录页面中管理它)。

http://msdn.microsoft.com/en-us/library/system.web.security.activedirectorymembershipprovider.aspx

或者您可以实现自己的MembershipProvider: http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx