我正在研究在SAAS应用程序中实现不同身份验证方法的选项。 saas应用程序是为所有租户提供服务的单个实例。
为了允许不同的身份验证方法,我可以为每个租户创建不同的owin管道,以便在启动时循环遍历所有租户配置。 请在此处查看答案底部答案以获得解释: Change OWIN Auth Middleware Per Request (Multi-tenant, oauth API keys per tenant)
我意识到对管道的任何配置更改都会迫使我重建它,但我找到了一个好的回购,似乎正在做这个伎俩。 https://github.com/damianh/DynamicKatanaPipeline
虽然可以为每个租户创建不同管道的解决方案,但我担心这不能很好地扩展。我想知道这是否是一个很好的解决方案,是否有人知道我没有看到这个解决方案或有任何设置经验的陷阱。
答案 0 :(得分:0)
根据我使用SaaS应用程序的经验,我预计每个租户不需要单独的管道。身份验证中间件应足够聪明,以便根据提供的身份验证信息获取正确的租户标识符。
一旦建立了身份,应用程序的其余部分将根据识别的上下文处理将数据呈现给请求的过程。
HTH
答案 1 :(得分:0)
我有一个OWIN.Framework项目,除其他外,它允许您更灵活地构建OWIN管道,包括通过管道为不同类型的请求提供多条路径。
您可以使用此配置为每个租户配置不同的身份验证中间件,但管道的其他部分对所有租户都是相同的。
如果您有兴趣并希望获得帮助,请告诉我。