2010-05-21 125 views
0

我们有一个ADFS SSO解决方案用于登录我们的网络应用程序,我们也有标准设置,使用我们的数据库进行身份验证。我想设置一个允许这两种解决方案。所以现在我想弄清楚,有没有什么办法让ASP.NET检测用户是否使用Active Directory进行身份验证,这样我就可以实时执行此操作了?如果用户通过AD登录,则通过ADFS发送,否则显示登录屏幕。任何想法?ASP.NET - 检测用户是否使用Active Directory进行身份验证?

我也意识到,如果它们设置为仅在启动ADFS过程后才使用基于表单的身份验证,则可能无法正常工作。

回答

0

是......在IIS中,启用集成身份验证,基本和匿名。所有真正的工作都是在HTTPModule中完成的,它们在根Web.config中注册(例如,在运行时CONFIG文件夹中)。如果通过集成证书进行身份验证,内置的身份验证HTTPModule将设置用户Principle一旦通过身份验证。你可以添加你自己的后面。如果IIdentity(例如User.Identity)将IsAuthenticated设置为false,那么您知道它们未经过身份验证,然后可以重定向它们。如果设置为true,则可以将IPrinciple替换为包含与应用程序密切相关的角色的原则。

相关问题