使用与身份服务器4的mutitenancy

时间:2017-07-11 12:09:13

标签: c# asp.net-core asp.net-core-mvc identityserver4 saaskit

我们正在尝试使用saaskitIdentity Server 4来使用Identity Server创建多租户应用程序。

我们的要求如下。

我们为所有客户提供通用登录页面。但是,一旦客户端用户登录,我们就会显示用户有权访问的客户端列表,点击客户端名称后,用户将被重定向到相应的客户端仪表板。

为实现这一目标,我们采用了以下方法。

  1. 登录,在Identity Server项目中添加客户端列表页面。
  2. 当用户点击所需的客户端时,它将被重定向到客户端项目(此处我们已将仪表板URL设置为客户端)。
  3. 在基于url的客户端项目中(例如,对于clientname / home / dashboard),我们正在使用saaskit解析客户端。
  4. 所以现在它应该显示仪表板页面,但是我们已经在仪表板方法中添加了[Authorize]属性,因为它试图调用帐户/登录方法。但是在这里,该方法不是从服务器项目调用,而是在客户端项目中搜索(不可用)并导致错误。此外,尝试将仪表板的ReturnUrl附加到它。
  5. 那么,任何人都能说出问题是什么,项目结构是否正确?

2 个答案:

答案 0 :(得分:1)

当您单击IdentityServer门户中的客户端链接时,它应该将您退回到您的客户端,然后您应该立即通过IdentityServer反弹并最终再次返回到客户端来开始登录过程。

IdentityServer - >客户 - > IdentityServer - >客户端。

请记住,仅仅因为用户已登录IdentityServer,并不意味着他们拥有客户端应用程序的cookie。登录过程/重定向仍然必须执行。

答案 1 :(得分:0)

可用的客户列表我将用作id之外的独立应用程序,这样就会有来自ID的回调