我已经搜索过这个主题,只是越来越困惑。
我们有一个表单身份验证 Web 应用程序。我更改了旧的 FormsAuthentication.SetCookie 语句,改为创建一个包含 FormsIdentity 的 GenericPrincipal,然后我添加了几个自定义声明,然后我使用 SessionAuthenticationModule 编写了一个 sessionsecuritytokentocookie。我对 FederatedAuthentication 有点困惑 - 我正在使用 FederatedAuthentication.SessionAuthenticationModule 来编写令牌,但我认为这与在我的情况下仅使用 Modules("SessionAuthenticationModule") 相同吗?
无论如何,身份验证工作正常,但我的自定义声明没有被重新创建。我没有使用会员提供者或角色提供者——这有关系吗?
我已阅读有关 SessionAuthenticationModules、ClaimsAuthenticationManagers、ClaimsTransformationModules 的信息,但我不再确定应该使用哪些或如何使用?目前我只是在旧登录代码所在的位置添加我的声明(我没有时间重写整个登录过程),我希望在每个请求时自动重新创建这些声明。
我需要做什么 - 显然我不想每次都去数据库重建它们 - 我认为它们被存储在 cookie 中并自动重新创建。