ASP.Net核心Windows身份验证 - 在Cookie中缓存声明

时间:2018-06-16 21:19:18

标签: cookies asp.net-core claims-based-identity asp.net-core-identity windows-integrated-auth

我正在将一个Web应用程序从ASP.Net移植到ASP.Net Core,需要同时支持存储在apps数据库中的用户的Windows集成身份验证和Cookie身份验证(该应用程序由客户自行托管,不同客户使用不同的身份验证方法,有时从一个迁移到另一个)。

为了在身份验证方法之间共享尽可能多的代码,我正在使用ClaimsTranformer向Windows Auth用户添加与Cookie Auth(使用ASP.Net Core Identity)提供的权限相匹配的权限。但是,我希望这些声明存储在cookie中(以一种安全的方式,就像Identity为cookie身份验证一样),这样我就不必在每次请求时都访问数据库。有没有办法做到这一点?

在ASP.Net中,我曾经在第一次请求时查找Windows用户的用户详细信息,然后使用ASP.Net Identity cookie auth查找SignIn;然后,应用程序将使用cookie auth,就像用户已使用用户/密码进行身份验证一样。不幸的是,在Core中,似乎只要在Startup.ConfigureServices中调用services.AddIdentity,它就会禁用Windows集成身份验证。

我在.Net Framework 4.7上使用ASP.Net Core 2.1(虽然我们计划在未来版本中迁移到.Net Core,但我们可以删除一些依赖项。)

0 个答案:

没有答案
相关问题