【发布时间】:2020-12-29 04:24:45
【问题描述】:
我将 IdentityServer 4 服务器设置为独立应用程序,使用 net core 3.1、针对 MySql 的 Entity Framework core 和 Net Core Identity 作为用户存储。另外,我有一个 Razor Pages 客户端应用程序,它针对身份服务器进行身份验证,用户登录发生在服务器上。这一切都很好。
我现在希望能够在客户端上为任何新用户身份验证或登录失败写入日志条目。我认为必须在某处引发事件。请问我该怎么办?
【问题讨论】:
-
您有什么理由希望在客户端而不是身份验证服务器上登录?为此,在 IdentityServer 上提出了 events。无论如何,失败的登录都不会返回给客户端,因为它没有发生在那里,除非您捕获它并以某种方式将其发送给客户端。
-
是的,主要用于审计目的。显然,人们可以并排阅读日志,但不太方便和有效。
-
只是一些想法,您可以在 razor 客户端上添加一个端点,并将来自身份服务器的事件发布到 razor 客户端。或者,您可以向客户端添加一个中间件,该中间件检查附加到 ReturnUrl 或身份验证服务器引用者的某些参数的请求。
-
我认为唯一可靠的是服务器到客户端的通信;将事件从一个发布到另一个。你不会从导航回来的人那里得到重复的事件。
标签: asp.net-core identityserver4 razor-pages asp.net-core-identity