2016-12-01 66 views
0

我已经阅读了关于假冒的问题,并且从目前我能找到的问题都可以实现。我不确定是否可以使用它来完成以下任务。Identityserver3 - 用户假冒

用户没有执行特定操作的权限,但是如果主管允许他访问,则可以完成此操作。

授予将仅适用于该操作/请求。

这是可以使用模拟,或者有更好的方法呢?

在此先感谢。

回答

2

你可以做什么的快速大脑转储:你将不得不在自己的IdentityServer用户服务中实现它。一种方法是在客户端的acr_values中传递一个自定义参数,其中包含您要模拟的用户的ID(您还必须传递prompt = login以强制请求转到登录工作流程并因此转到用户服务) 。在PreAuthenticate的用户服务实现中,您可以检查用户是否已通过身份验证,是否存在自定义acr_values,并且允许用户模拟请求的用户。然后,您将使用新用户的身份为上下文分配AuthenticateResult。这会缩短登录过程并返回到授权端点,然后返回到您的客户端应用程序。