【发布时间】:2019-10-10 13:45:29
【问题描述】:
我已经下载了 IdentityServer4 快速入门示例,我正在通过它来尝试了解这里发生的一切。到目前为止,我设法用我自己的使用 Identity Core + Dapper 的自定义身份实现替换了 TestUsers。但是,代码的某些部分对我来说仍然没有意义,我无法弄清楚它们的作用。完整的代码示例可以在这里找到:https://github.com/IdentityServer/IdentityServer4.Quickstart.UI/tree/release/Quickstart
在许多控制器中,我发现以下代码行:
await _events.RaiseAsync(new UserLoginSuccessEvent(provider, providerUserId, user.Id.ToString(), user.Email));
现在UserLoginSuccessEvent 是IdentityServer4.Events 库的一部分,_events 实际上是IEventService。还有其他调用,例如UserLogoutSuccessEvent、ConsentDeniedEvent 等等。
我的问题是上面的实际作用是什么?它是否应该触发某种日志记录,如果是这样的话?我想也许可以实现一些会在这里注入并触发我自己的东西或完全其他东西的东西。
【问题讨论】:
-
正如您所描述的:日志记录。 IDS 中的大多数事件都很重要,因此您有一个事件系统可以在需要时尽快采取行动。不过,有一个默认实现。我只将 IDS 与 EF Core 一起使用,它会记录到数据库中
-
@CamiloTerevinto 因为这是记录,那么我该如何控制它以及我在哪里进行设置,以便它去我想要去的地方。例如到我的数据库。
-
与 ASP.NET Core 中的大多数服务相同。创建自己的实现
IEventService的类并在容器中注册
标签: c# asp.net-core-mvc identityserver4