ADFS - 本地 SSO 实施

ADFS - On premises SSO Implementation

我有一个 Asp.Net 应用程序与 ADFS(在其他 Windows 服务器上)通信以进行身份​​验证。目前,当我们导航到应用程序时,它会重定向到 ADFS SSO 身份验证页面。我关注 this 博客来实现 SSO 并在这里有一些问题:

  1. 我们能否更改实现方式,使其仅在我按下登录按钮时才重定向到身份验证页面?
  2. 我们能否更改实施方式,使我的应用程序中只有一个 page/URL 无需任何身份验证即可访问?
  3. 用户通过身份验证并重定向回登录页面时返回哪些参数。我们如何获得所有可用参数? 在此 blog 中返回的内容是值、值类型、主题名称、声明发布者和声明发布者类型。我可以获得电子邮件或用户名吗?这样我就可以 link 那个人在我的应用程序中给客户。

如果以上任何一个都可以,我怎样才能得到它?

  1. 登录按钮是 ADFS 屏幕的一部分。这是设计使然。该示例使用 WIF,因此您将身份验证外包给 ADFS。

  2. 是 - 在 web.config 中使用 "location" 注释。参考 Location Element.

  3. 返回的参数是声明规则中配置的声明。文章显示 "Display-Name" 和 UPN。如果您需要电子邮件,只需添加另一行并从下拉列表中 select 即可。