0

是否有可用于使用 HttpSessionState 存储 Token 的解决方案?

我知道我们可以启用会话以使身份验证 cookie 更小:

FederatedAuthentication.SessionAuthenticationModule.IsSessionMode = true;

据我了解,使用默认实现,令牌存储在内存中。http://www.cloudidentity.com/blog/2010/05/26/YOUR-FEDAUTH-COOKIES-ON-A-DIET-ISSESSIONMODE-TRUE/

即使设置了自定义提供程序,也不会使用 HttpSession。

Thinktecture IdentityModel 允许我们通过实现ITokenCacheRepository来使用自定义令牌存储库,但它需要外部存储,使用会话可能不好(过期,范围......)。

为什么默认 TokenCache 使用内存解决方案而不是 Host Session 提供程序?有没有一种简单安全的方式来使用主机的会话状态?

4

1 回答 1

0

虽然我没有尝试将 Token 存储在 Session 中,但我ITokenCacheRepository使用 Redis 缓存从 Thinktecture.IdentityModel 实现。

代码可在此处获得:https ://github.com/guillaume-fr/RedisTokenCache

这可能有助于任何寻找在云/WebFarm 环境中的服务器端存储令牌的方法的人。我不会接受我的回答,因为它没有说明我们如何使用 Session 或为什么我们不能。

于 2015-04-02T09:06:39.597 回答