Azure active directory 可以从Azure示例Azure Active Directory OpenId Connect使用NaiveSessionCache吗

Azure active directory 可以从Azure示例Azure Active Directory OpenId Connect使用NaiveSessionCache吗,azure-active-directory,adal,azure-ad-graph-api,Azure Active Directory,Adal,Azure Ad Graph Api,我们正在编写一个类似于的web应用程序 示例包括,它将访问令牌存储在UserObjectId的ASP.NET会话状态中。 代码看起来很合理,但我对“Naiver”这个名字表示担忧 有什么理由我不应该在生产中使用它吗 Vittorio Bertocci的文章描述了 文件缓存(用于桌面应用程序) 以及用于实现的数据库缓存替代方案。 然而,如果我可以使用session,我觉得使用sqldb太麻烦了 是否有人反对使用会话?如果您的场景允许使用会话(例如,当没有用户主动登录时,您不需要访问),并且您正确

我们正在编写一个类似于的web应用程序

示例包括,它将访问令牌存储在UserObjectId的ASP.NET会话状态中。 代码看起来很合理,但我对“Naiver”这个名字表示担忧

有什么理由我不应该在生产中使用它吗

Vittorio Bertocci的文章描述了 文件缓存(用于桌面应用程序) 以及用于实现的数据库缓存替代方案。 然而,如果我可以使用session,我觉得使用sqldb太麻烦了


是否有人反对使用会话?

如果您的场景允许使用会话(例如,当没有用户主动登录时,您不需要访问),并且您正确地保护了会话,则在使用会话本身时没有任何反提示。但是,这些示例中的类仅用于演示通用缓存组件的功能,并没有按原样在生产中使用:您需要添加正确的错误处理、检测以及通常应用于您自己的生产软件的所有软件质量功能。

以我的经验,使用会话太依赖web服务器和应用程序域。我遇到会话重置/消失的问题。谷歌搜索一下,你会发现很多人都有类似的问题。我们为一个小型的单服务器web应用程序选择了内存令牌缓存。对于一个更大的应用程序,特别是如果我们需要一个多服务器应用程序,我肯定会使用DB实现