微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC中的角色缓存策略

我们有一个ASP.NET MVC应用程序,我们已经开发了自己的自定义RoleProvider类.如果没有缓存,它将为每个请求访问数据存储区 – 不好.我们可以找到唯一的缓存选项(在web.config中)通过存储在客户端机器上的cookie.我的两个问题是:

>这是安全的(即使启用加密)?
> cookie信息是否会随着每个Web请求一起传输 – 因此,每次访问数据存储区可能会减慢应用程序的速度?

有没有人有替代路线?我明白在Session中缓存这些信息也不好?

解决方法

如果您已经开发了自己的自定义RoleProvider类,则可以进行自己的数据缓存,例如:使用ASP.NET缓存.这比使用Session作为缓存更灵活,因为它甚至可以在没有启用会话状态的页面上工作.

我不同意Wyatt Barnett的评论

The downside for using the Session
… the fact that Session storage is
very violate and not particularly
reliable

缓存(无论是Session,ASP.NET Cache还是其他东西)都是易变的 – 您只需要在需要时重新填充它.

回答你的问题:

>它与用于加密cookie的加密一样安全.如果您依赖FormsAuthentication,则它的安全性必须不低于Forms身份验证票证.> cookie将随每个请求一起传输.因此,如果用户可以拥有大量角色,并且有可能超过浏览器支持的最大cookie大小,则可能会出现性能损失.

原文地址:https://www.jb51.cc/aspnet/248184.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐