(第十章)Web容器安全管理
第十章Web容器安全管理
目录
1、了解与实现Web容器安全管理
1.1JavaEE安全基本概念
尽管对安全的要求细节各不相同,然而Web容器对于以下的几个基本安全特性提供了基础。
- 验证(Authentication):具体来说就是身份验证,也就是确认目前沟通的对象(号称自己有权访问的对象),真的是自己所宣称的用户(User)或身份(Identify)。
- 资源访问控制(Access control for resources):基于完整性(Integrity)、机密性(Confidentiality)、可用性限制(Availability constraints)等目的,对资源的访问必须设限,仅提供给一些特定的用户或程序。
- 数据完整性(Data Integrity):在信息传输期间,必须保证信息的内容不被第三方修改。
- 数据机密性或私密性(Confidentiality or Data Privacy):只允许具有合法权限的用户访问特定的数据。
- 用户(User):允许使用应用程序服务的合法个体,简单的说,应用程序会定义用户列表,要使用应用程序服务必须先通过身份验证成为用户。
- 组(Group):为了方便管理用户,可以将多个用户定义在一个组中加以管理。例如,普通用户组、系统管理组、应用程序管理组等,通常一个用户可以同时属于多个组。
- 角色(Role):Java应用程序许可证管理的依据。用户是否可存取某些资源,所凭借的是用户是否具备某种角色。组与角色容易让人混淆不清,组是系统上管理用户的方式,而角色是Java应用程序中管理授权的方式。
- Realm:储存身份验证时所需数据的地方。
使用Web容器安全管理,基本上可以提供两个安全管理的方式:声明安全(Declarative Security)与编程安全(Programmatic Security)。
1.2声明式基本身份验证
在Tomcat中,可以在conf/tomcat-users.xml中设置角色与用户或组的定义。
1.3容器基本身份验证原理
1.4声明式窗体验证
1.5容器窗体验证原理
1.6使用HTTPS保护数据
1.7编程式安全管理
1.8标注访问控制