V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tctc4869
V2EX  ›  Java

单机 web 程序,有哪些兼顾安全与性能的设计思路?

  •  
  •   tctc4869 · 2019-11-27 15:21:29 +08:00 · 2418 次点击
    这是一个创建于 1604 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做一个面向互联网的程序的话,首先安全稳定第一,然后是性能第二,不能把敏感数据保存到客户端里,容易修改,但把安全数据都放到数据库里,,但我想要在保证安全的情况下优化性能,在用户登录成功后,顺便利用 session 存储一些安全鉴别的数据到用户的子对象里。

    安全数据的话,全首先想到的是 RBAC 权限体系。我目前有一个类似享元模式的思路,在 tomcat 启动时,将数据库中所有的角色数据载入到服务端的某个缓存库里,例如 HashMap 中,用户登录之后,查询用户的角色权限,依据角色 id 找到角色缓存对应角色数据,并将引用保存的用户的子对象里,在存入 session。这样用户登录后的操作权限查询比每次查询用户权限最少 5 个表(基础 RBAC 体系限要求最少 5 个表)的速度要快一些吧,也比查询角色数据,然后直接保存在 session 要好一些把。

    另外,在服务端上,大家有什么好的能兼顾安全与性能的办法和设计思路架构呢。

    2 条回复    2019-12-02 09:55:17 +08:00
    KentY
        1
    KentY  
       2019-11-29 22:58:21 +08:00
    什么叫单机 web 程序?
    你的这个程序写好了吗? 如果写好了,并且你认为你的程序运行上有性能问题, 你说的登录那段儿应该不是性能问题的瓶颈.

    如果还没写好, 先别想着怎么把性能优化到极致. 往往开发者容易做 premature optimization
    tctc4869
        2
    tctc4869  
    OP
       2019-12-02 09:55:17 +08:00
    @KentY 单机 web 程序,就是用一台服务器挂 web 程序,不是集群分布式。安全的话,主要是请求漏洞与爬虫问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3285 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:13 · PVG 20:13 · LAX 05:13 · JFK 08:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.