我正在使用当前仅在Intranet中使用的ASP.NET应用程序。它的身份验证模式是集成Windows安全性。我现在要求使用基于表单的身份验证在外部可见系统的一部分。
是否可以在web.config中设置身份验证,以便访问其中一个页面通过Forms,而其他页面使用集成身份验证?可以使用单个web.config来完成,还是需要一个带有自己的web.config文件的子文件夹?
我知道我可以为外部部件创建一个单独的应用程序,但这意味着移动常见部分,理想情况下我想避免使用。
答案 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