我几乎疯狂地寻找使用SignalR为我的OWIN / Katana项目实施适当身份验证功能的正确方法。
我已经阅读过有关编写自己的OAuth2.0服务的内容,我听说过使用Cookie身份验证,并使用SignalR的[授权]属性。然而,我不确定这些方法中是否符合我的要求。
我有以下情况: 我有一个主机应用程序执行WebApp.Start(),让我们说两个主机。 每个owin主机都有各种中间件。
我想做什么:在每个OWIN管道的开头,我想添加一个OWIN中间件,它提供一个登录页面并允许用户进行身份验证。如果用户已成功通过身份验证,则他可以访问管道中的任何其他middlware。如果用户在进行身份验证之前浏览了另一个管道,则应将其重定向到登录页面。
问题:我发现很多文章描述了如何编写OAuth 2.0服务器等等。我没找到的是一个循序渐进的教程,展示了如何使用JavaScript进行身份验证,然后在每个中间件中共享和使用身份验证数据,以检查用户是否经过身份验证。
有没有人有一个如何实现这样的好教程? 或者,甚至可以在多个OWIN IAppBuilder实例之间共享身份验证数据。 (在我的例子中,每个中间件都是一个单独的DLL。)
请不要因为没有阅读任何文档或其他内容而责怪我,我真的已经花了很多时间研究如何处理这样的事情。恕我直言,没有真正好的文章描述如何实现这样的目标。
或者,至少,任何人都可以向我解释如何解决问题吗?
提前致谢!
罗纳德
项目结构:https://pl.vc/2y86u
答案 0 :(得分:0)
我有一个项目OWIN.Framework,它允许你有多个带路由的OWIN管道段。这将允许您拥有一些首先运行的中间件,并且此后面的多个管道在每个管道中配置了不同的中间件。