Asp.net core mvc 具有两个不同登录屏幕的IdentityServer4

Asp.net core mvc 具有两个不同登录屏幕的IdentityServer4,asp.net-core-mvc,openid-connect,identityserver4,asp.net-identity-3,Asp.net Core Mvc,Openid Connect,Identityserver4,Asp.net Identity 3,我有两个用户角色,角色A和角色B 除了默认的身份验证访问权限外,还允许角色A具有第三方身份验证访问权限(Facebook和Twitter) 角色B仅允许默认登录方法(用户名和密码) 这两个角色都应该有不同样式的页面,因为它们针对的是不同的业务用户(因此图像和css也不同) IdentityServer4是否支持这一点?你能告诉我一些如何实现这一目标的资源吗?正常的定制是否支持这一点(而不是通过破解!)?如果多租户方法不起作用,我怀疑最好的解决方案是以ASP.NET样式提供角色。由于您不知道用户第

我有两个用户角色,角色A和角色B

除了默认的身份验证访问权限外,还允许角色A具有第三方身份验证访问权限(Facebook和Twitter)

角色B仅允许默认登录方法(用户名和密码)

这两个角色都应该有不同样式的页面,因为它们针对的是不同的业务用户(因此图像和css也不同)


IdentityServer4是否支持这一点?你能告诉我一些如何实现这一目标的资源吗?正常的定制是否支持这一点(而不是通过破解!)?

如果多租户方法不起作用,我怀疑最好的解决方案是以ASP.NET样式提供角色。由于您不知道用户第一次访问web页面时的角色,因此需要有两个由URL或用户cookie触发的不同登录页面


此解决方案还有一个多租户方法没有遇到的限制。这两个角色之间的安全性完全取决于您的代码。这是大多数外部攻击的薄弱环节。

您在哪里定义用户角色?我认为您的案例需要一个多租户解决方案。每个角色都有一个独立的ASP.NET核心网站(实现为角色类型的声明)。这是一个系统,角色之间有关系,所以这不是一个多租户问题。所以每个角色都是一个客户机?如果区别是他们使用的客户机-这很简单。只需读取帐户控制器上的客户端ID并呈现不同的视图。检查快速启动用户界面。@leastprivilege我做了一个概念验证,它成功了,谢谢你的评论。事实上,在验证用户之前,我知道用户的角色。由于每个角色位于不同的应用程序上,我可以很容易地为每个应用程序提供一个独立的客户端id