如果我使用一些错误或含糊不清的条款,我道歉。 如果我这样做,请更正。
我有一个相当新的ASP.NET 4.6 MVC 5应用程序,它通过 WsFederation 和 Microsoft ADFS 服务器使用声明身份验证。这意味着我不公开 LogIn 操作控制器,也不管理我的webapp中的用户和密码。当用户导航到我的站点时,如果他们未经过身份验证,则会将他们重定向到他们登录的ADFS服务器,然后重定向回来。
我需要存储一些已提交的离线使用声明 - 其显示名称和电子邮件地址。我的想法是利用创建该集合os AspNet*
表的ASP.NET Identity包。我的理解是,它旨在支持本地用户(带密码)和外部用户(外部管理密码)来自Facebook,Google,Github等提供商。我是否正确ADFS下降在那个类别下?
成功验证后重定向回我的网站,我在哪里放置检查用户是否在AspNet*
表中输入的逻辑? Cookie身份验证和WsFederation的配置和连接目前在Startup.ConfigureAuth(IAppBuilder app)
方法中进行。我想我应该使用继承自IdentityUser
和IdentityDbContext<ApplicationUser>
的类,然后调用UserManager
或UserStore
上的方法。
我花了几个小时搜索如何将外部登录与应用程序相关联的示例&#34; profile&#34;表无济于事。我刚刚使用了错误的条款,这很可能非常。到目前为止,我发现的每个示例都涉及模拟或修改登录和注册操作方法附带的默认VS模板,或者只是连接FB和Google。没有任何东西可以处理来自外部来源的ADFS 和/或绑定到配置文件表。
任何代码示例或至少链接到文章/资源都将非常感激。
答案 0 :(得分:0)
是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的例子。