【问题标题】:WS-FED authentication (ADFS) and ASP.NET Identity UserManagerWS-FED 身份验证 (ADFS) 和 ASP.NET Identity UserManager
【发布时间】:2016-01-28 01:48:14
【问题描述】:

如果我使用了一些错误或模棱两可的术语,我深表歉意。 纠正我,如果我这样做了。

我有一个相当新的 ASP.NET 4.6 MVC 5 应用程序,它通过 WsFederationMicrosoft ADFS 服务器使用 Claims 身份验证。这意味着我不会公开 LogIn 操作控制器,也不会在我的 web 应用程序中管理用户和密码。当用户导航到我的站点时,如果他们未通过身份验证,他们将被重定向到他们登录的 ADFS 服务器,然后被重定向回来。

我需要存储一些提交的声明以供离线使用——它们的显示名称和电子邮件地址。我的想法是利用 ASP.NET Identity 包创建该集合 os AspNet* 表。据我了解,它旨在支持来自 Facebook、Google、Github 等提供商的本地用户(使用密码)和 外部 用户(使用外部管理的密码)。我是否更正 AD​​FS 下降在那个类别下?

在成功的身份验证重定向回我的站点后,我究竟应该将检查用户是否在AspNet* 表中输入的逻辑放在哪里? cookie 身份验证和 WsFederation 的配置和连接当前发生在 Startup.ConfigureAuth(IAppBuilder app) 方法中。我想我应该使用继承自IdentityUserIdentityDbContext<ApplicationUser> 的类,然后调用UserManagerUserStore 上的方法。

我花了几个小时搜索如何将外部登录与应用程序“配置文件”表相关联的示例,但无济于事。我非常可能只是使用了错误的术语。到目前为止,我发现的每个示例都涉及模拟或修改登录和注册操作方法附带的默认 VS 模板,或者只是连接 FB 和 Google。没有处理 ADFS和/或从外部来源绑定到配置文件表的问题。

任何代码示例或至少链接到文章/资源将不胜感激。

【问题讨论】:

标签: asp.net-mvc asp.net-identity claims-based-identity adfs ws-federation


【解决方案1】:

是的,ADFS 是一个外部提供商,但请注意它使用 WS-Fed 而社交登录都是 OAuth。

看看Code! MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#)

你会看到它有一个链接机制。

还有OWIN : ASP.NET MVC application with multiple authentication options,里面有添加ADFS的例子。

【讨论】:

  • 感谢您提供的链接,但我不确定它们有多大帮助。我使用默认的 MVC 个人用户帐户模板创建了一个新项目,然后添加了 WS-Federation。在登录页面上,我可以选择使用“其他服务”,单击它会将我重定向到 ADFS 服务器。我输入凭据并被送回项目现场。一切都好......有点已经有了这个工作。问题是,默认情况下,所有内容都设置为 AllowAnonymous。添加 Authorize 属性后,我开始出现重定向循环并且似乎无法解决。
  • 嗨@Jason,我知道已经有几年了。我最近遇到了同样的问题,请问您解决了这个问题吗?如果是,你能分享一些细节吗?谢谢
猜你喜欢
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 2016-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多