我们有一个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 举报,一经查实,本站将立刻删除。