我们公司正在开发新软件,计划使用 ASP NET Core 2,企业软件计划使用 Windows Authentication,但所有关于用户的信息都存储在数据库中。好的,在用户通过身份验证后,需要将有关他的信息添加到声明列表中以供使用,例如在策略中。但是在什么时候可以做到呢?问题是没有登录表单,因为使用了 Windows 身份验证。
我们公司正在开发新软件,计划使用 ASP NET Core 2,企业软件计划使用 Windows Authentication,但所有关于用户的信息都存储在数据库中。好的,在用户通过身份验证后,需要将有关他的信息添加到声明列表中以供使用,例如在策略中。但是在什么时候可以做到呢?问题是没有登录表单,因为使用了 Windows 身份验证。
基本上我做了什么。在这里,我阅读了如何编写中间件组件 这是发生的事情:我有一个 User 对象,其中包含有关从数据库读取的用户的信息,还有一个实现 IUserRepository 的对象,它通过从 IIdentity 获取的用户名从数据库中读取用户 接下来,它创建一个中间件组件:
接下来,我们注册我们的组件:
当然,这里还有一些工作要做,因为每个请求都需要向数据库发出请求,但我认为这可以通过缓存数据来解决。