CredentialsMatcher:数据库系统中需要保存用户登录账号、密码以供用户登录校验。如果在数据库中保存密码明文则有一定的安全性,通常对密码使用Hash运算保存,常见的Hash算法有MD5、SHA等。
sessionManager: Amazon Systems Manager 的一项完全托管式功能。利用 Session Manager,您可以管理 Amazon Elastic Compute Cloud (Amazon EC2) 实例、边缘设备以及本地服务器和虚拟机 (VM)。您可使用基于浏览器的一键式交互 Shell 或 Amazon Command Line Interface (Amazon CLI)。Session Manager 提供安全且可审计的节点管理,而无需打开入站端口、维护堡垒主机或管理 SSH 密钥。
Realm:Realm 是可以访问程序特定的安全数据如用户、角色、权限等的一个组件。Realm会将这些程序特定的安全数据转换成一种shiro可以理解的形式,shiro就可以依次提供容易理解的Subject程序API而不管有多少数据源或者程序中你的数据如何组织。
Realm 通常和数据源如数据库、LDAP目录、文件系统或者其它类似的数据源是一对一的关系,所以,可以用数据源相应的API如JDBC、File IO、 hibernate 或者JPA以及其它的API来实现Realm接口,从而获取授权的相关数据(角色、权限等)。
realm本质上就是一个指定安全的DAO。
因为大部分这类数据源通常都会同时存储认证数据(如密码)和授权数据(如角色和权限),所以每一个Shiro Realm都可以同时执行认证和授权操作。
总结: shiro要进行身份验证,就要从realm中获取相应的身份信息来进行验证,简单来说,我们可以自行定义realm,在realm中,从数据库获取身份信息,然后和 用户输入的身份信息进行匹配。这一切都由我们自己来定义。