MVC应用程序中的自定义索赔身份管理



我们已经在我们的MVC应用程序中使用openID-Connect实现了Azure AD身份验证,并使用托管角色声明启用了应用程序中的角色管理。

现在,由于索赔数量很高,我们已经遇到了新的麻烦来管理应用程序中的索赔。

SQL DB:1)主索赔表2)角色表3)riled-要求绘制映射表4)USERCLAIMS表 - 这是维护用户ID和Roalid映射的地方

C#:

var identity = new ClaimsIdentity(new[] {
        new Claim("UserMgt:Maintenance", "True"), 
        new Claim("UserMgt:Add", "True"), 
         new Claim("UserMgt:Add", "True")
},
    "ApplicationCookie");

。。。

我们不确定这是否会减慢性能。我们在用户登录后立即托管了Azure中的应用程序,并考虑将索赔存储在重新录制中,然后通过阅读每个页面中的相应索赔。

让我们知道您是否有更好的建议。

谢谢

登录要求存储在cookie中。因此,cookie的阅读索赔很快就不需要访问您的数据库。

但是,cookie尺寸可能是一个问题。如果您将太多数据放到cookie中,请求将变得过多。单个cookie的最高可达4KB,总总数高达16kb(浏览器依赖)。因此,如果您达到了这一限制,那么值得重新考虑您对索赔的所作所为。(想象一下一个Ajax请求,发布20个字符以获取201个请求,但在网络上拖了约16kb的标题)。

显然在cookie中加密声明,但数据增加比率约为1.1。IE。对于索赔中的1KB数据,您将在电线上获得大约1.1kb的实际cookie尺寸(这是我探索同一问题时的cookie尺寸的经验)

如果您没有达到这些限制,我会说不要太担心它。

相关内容

  • 没有找到相关文章

最新更新