我正在创建一个具有多个应用程序和网站的登录门户的项目。我想允许用户登录,然后单击任何应用程序并可以访问它。一些考虑因素是:每个应用程序都在用户配置文件中定义,即哪些用户可以看到什么。每个用户的每个应用程序权限也不同。所以用户 a 可能是应用程序 a 的管理员,但只是应用程序 b 中的普通用户。
我知道的。
我可以在主门户中创建一个 auth cookie,通过设置机器密钥和相同的 authcookie 名称,每个应用程序都可以使用它。我已经对此进行了测试,它似乎有效。
我的问题
由于每个站点/虚拟目录在用户访问站点时每个用户和每个应用程序都具有不同的权限,因此我需要从数据库中获取他的权限,但是我不能用新的详细信息覆盖 auth cookie 用户数据,因为他可能有多个选项卡等打开一次在不同的网站上。那么我怎样才能为每个用户和每个应用程序拥有一个额外的 cookie 存储,以保存应用程序特定的详细信息。我知道我每次都可以访问数据库,但这是每次回发的开销。
也许另一种选择是使用主 authcooke 来检查用户是否已登录,然后每个应用程序和用户都有一个新的 auth cookie,但是我怎么能有 2 个 authcookie,这可能会让人感到困惑,第二个需要在主要的时候超时等等认为
任何帮助建议将不胜感激
谢谢
-------------------编辑-----------------
我们对所有站点都有一个用户表,而不是每个站点 1 个。然后我们将用户映射到应用程序,然后是用户应用程序和角色。因此,当您访问应用程序时,它必须检查用户是否具有访问权限以及角色是什么。登录主站点时,所有其他用户详细信息都已在身份验证 cookie 中。我们这样做是因为我们必须在一个应用程序而不是每个应用程序中管理用户。希望这有助于理解我的要求。