我在.net核心和多租户实现中有一个应用程序,如下所示:
通过网址识别租户(www.example.com/ tenant1 或 www.example.com/tenant2)。租户使用共享数据库,即 使用每个表中每个租户的id分隔数据 每个查询然后使用tenantId来获取对应的数据库 每个租户。
我需要在应用程序中实施SSO,但我无法找到任何针对基于URL的SSO多租户实施的解决方案。
因此,如果用户更改了URL中的tenantName,并且如果该租户是租户的有效用户,则不允许其他人。
我现在正在使用cookie中间件进行身份验证/授权: https://docs.asp.net/en/latest/security/authentication/cookie.html
感谢您的建议。
答案 0 :(得分:1)
您可以通过现有的owin中间件来实现此目的。只需提取中间件中的url段并找到
所有这些都是一个自定义中间件,您可以添加到owin管道来处理所有这些魔法。