做一个面向互联网的程序的话,首先安全稳定第一,然后是性能第二,不能把敏感数据保存到客户端里,容易修改,但把安全数据都放到数据库里,,但我想要在保证安全的情况下优化性能,在用户登录成功后,顺便利用 session 存储一些安全鉴别的数据到用户的子对象里。
安全数据的话,全首先想到的是 RBAC 权限体系。我目前有一个类似享元模式的思路,在 tomcat 启动时,将数据库中所有的角色数据载入到服务端的某个缓存库里,例如 HashMap 中,用户登录之后,查询用户的角色权限,依据角色 id 找到角色缓存对应角色数据,并将引用保存的用户的子对象里,在存入 session。这样用户登录后的操作权限查询比每次查询用户权限最少 5 个表(基础 RBAC 体系限要求最少 5 个表)的速度要快一些吧,也比查询角色数据,然后直接保存在 session 要好一些把。
另外,在服务端上,大家有什么好的能兼顾安全与性能的办法和设计思路架构呢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.