我们正在尝试在.Net 4.5网络服务器场中实施WIF。我们使用shared machine keys允许多个节点解密FedAuth cookie。我们遇到了一些问题,正在调试它们。
由于我们一直在寻找描述WIF + Web场配置的博客文章/文章/文档,我们经常会看到共享令牌缓存的提及。许多人将缓存描述为有利于性能或处理过大的cookie。但是,其他人似乎认为完全有必要让WIF工作。来自上面的MSDN文章:
在[网络服务器场]方案中,默认的WIF设置...将无效,因为令牌保护和令牌缓存都依赖于特定的计算机。
强调我的。
所以,我的问题是:为了使WIF在Web场中运行,是否必须实现共享令牌缓存?如果是这样,您能帮我理解缓存数据的性质和目的吗?
答案 0 :(得分:1)
仅当您要在服务器上缓存令牌时才需要令牌缓存。
SAM支持一种称为“引用令牌”的模式 - 使用此cookie只包含一个标识符,而实际的主体(如果使用了+引导上下文)则缓存在服务器上。
WIF的默认缓存实现是本地内存,因此是Web场的共享缓存需求。但只有在使用参考模式时 - 这不是默认模式。