网络攻击者 | 对应的servlet安全规范 |
---|---|
假冒者(Impersonator) | 认证 |
非法升级者(Upgrader) | 授权 |
窃听者 | 机密性 |
| 数据完整性 |
认证可以防止“假冒者”攻击,授权可以防止“非法升级者”攻击,机密性和数据完整性可以防止“窃听者”攻击。
Web容器进行认证与授权的过程:
安全概念 | 谁负责? | 复杂程度 | 耗时程度 |
---|---|---|---|
认证 | 管理员 | 中 | 高 |
授权 | 部署人员 | 高 | 高 |
机密性 | 部署人员 | 低 | 低 |
数据完整性 | 部署人员 | 低 | 低 |
Spring Security是专注于为Java应用提供认证(authentication)与授权(authorization)机制的开发框架,和其他Spring项目一样,Spring Security的能力是可以灵活得应对各种定制的需求。
Spring Security的特点:
这里我从Spring Guides找到了一个在web应用中使用Spring Security保护资源的例子——securing-web demo,我自己试验做了一遍,建议读者也跟着自己实现一遍,加深理解。
HTTPS和SSL协议用于实现机密性和数据完整性。
SSL/TLS网络协议
可以查看我之前写的一篇笔记:微服务架构下的身份认证与鉴权