谈到安全框架,目前 Java 圈子里用的比较多的是Shiro或Spring Security,这两款框架虽然大而全,但是对于纯接口项目而言(非大型后台管理系统),大多数功能并不需要,而需要的功能又难以专注,再加上目前接口发展越来越倾向于服务化(例如前后端分离),因此每次做安全框架技术选型的时候,都非常痛苦。
根据我浅薄的经验,安全框架在大多数项目中,关键问题无非以下两点:
- 分布式模型
- 高性能
简单展开一下。
分布式模型屏蔽了多容器之间的差异,只有这样才能实现负载均衡或集群,作为一个现代化的安全框架,这必须是一个天然的属性,不再需要使用者费尽心思去实现。
经过大量实践,安全框架只需要做到维护状态,就算完成使命,实际项目中复杂的条件组合、权限控制,是需要写代码实现的,这不是安全框架的职责,它也实现不了。因此,我不希望安全认证耗费太多性能,简单高效就够了。
欢迎各位 V 友批评指正~