Apache Shiro安全框架(2)-用户认证

身份认证

在shiro中用户需要提供用户的 principals (身份)和 credentials(证明)来证明该用户属于当前系统用户。常见的认证方式即用户名/密码。

在解释身份认证之前,我们先来看看shiro中的Subject和Realm,这是身份认证的两个关键的概念。

Subject

subject代表当前用户,内部主要维护当前用户信息。shiro中所有的subject都交给SecurityManager管理 ,与subject的所有交互都会交给SecurityManager完成。

shiro当前有两种类型的Subject:DelegatingSubject和WebDelegatingSubject。从名字可以看出一个代表基本Subject,一个在基本的subject基础上扩展应用于Web环境的Subject

Realm

Shiro从Realm获取用户信息,例如:用户名/密码、用户角色、用户权限等。Shiro中包含多种类型的Realm,继承关系如下:

Apache Shiro安全框架(2)-用户认证_第1张图片

虽然Shiro中包含多种Realm,但是我们通常用的都不多,这里我们主要了解IniRealm、JdbcRealm以及如何自定义Realm

IniRealm

IniRealm通过配置文件完成用户信息的添加。以下是I

你可能感兴趣的:(Java,shiro)