adr*_* h. 5 asp.net security claims-based-identity asp.net-core-mvc
在Asp.net Mvc 6网站上,我定制了开箱即用的功能,AccountController以便userManager.CreateAsync()在注册前添加自定义声明,
Register()控制器的方法中ExternalLoginConfirmation()控制器的现在,我想做的是,在用户登录后立即执行
Login()调用signInManager.PasswordSignInAsync()和之后的方法中ExternalLoginCallback()调用后的方法中signInManager.ExternalLoginSignInAsync()...检索该声明,理想情况下无需访问数据库即可获取用户.
我注意到如果我在登录后直接看到User,则Claims集合为空.但是,如果我在后续控制器操作中查看它,则会填充Claims集合并在其中包含我的自定义声明.
问题是,为什么登录后不会立即填写索赔(我猜登录代码不会刷新CurrentPrincipal?)并且在登录后直接检查另一个地方以获取索赔而不会点击DB?