【发布时间】:2017-12-28 10:56:34
【问题描述】:
我正在使用将 ADFS 登录页面与我的应用程序集成的功能。
流程
用户将尝试访问页面。此处系统将尝试对用户进行身份验证。
系统会将用户重定向到 ADFS 登录页面。
用户将输入登录信息。如果用户通过了身份验证,那么用户将被重定向回带有授权令牌信息的应用程序。
当页面被重定向回来时,我在读取令牌信息时遇到困难。
我试过了
如果用户使用以下 url 格式进行身份验证,我可以将页面重定向到 ADFS 登录页面,也可以重定向回我的系统:
https://adfs-domain-name/adfs/ls
返回页面读取token信息后,请找到下面我正在使用的代码sn-p。
ClaimsPrincipal claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal;
bool IsAuthenticated = claimsPrincipal.Identity.IsAuthenticated;
int ClaimCount = claimsPrincipal.Claims.Count();
在这里我得到 IsAuthenticated 为 false 和 ClaimCount 为 0 结果。
我的代码或连接 ADFS 登录页面的方式有什么不正确的地方吗?
谁能帮我解决这个问题?
如果您有任何疑虑或疑问,或者我遗漏了什么,请告诉我。
【问题讨论】:
-
您如何连接到 ADFS? WS-美联储?萨姆勒?您是否检查过 ADFS RP 重定向 URL?如果您使用例如跟踪连接FF SAML Trace,您看到声明了吗?什么版本的 .NET?
-
我使用 SAML 作为协议。我无法获得索赔详情。从 ADFS 登录页面成功登录后,该页面将被发布回我的应用程序。
-
在 ADFS 端为该 RP 配置了哪些声明?那些 AD 属性有值吗? ADFS 不会传递空值。
-
是的,我们已将电子邮件地址作为声明值传递,并且电子邮件地址的值包含电子邮件地址。
标签: asp.net authentication active-directory saml adfs