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大小,则可能会出现性能损失.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....