Apache shiro-认证过程

认证过程

    认证过程也就是对用户验明正身的过程,即确认用户输入的身份信息是正确的合法的过程。我们先看看这个认证过程的图:

就如图上所说,其实这个认证过程,是在Shiro的SecurityManager中自动完成的。我们使用的时候真正做的内容是从用户输入哪里收集用户的身份信息(用户名+密码),交到SecurityManager,而后SecurityManager则根据输入的用户名调用Realm取得数据库中存储的该用户的身份信息。然后验证之……
    这里需要注意的是这里的数据库,不只是说一般意义的数据库。shiro的可以从JDBC、LDAP()、ini文件、cas等数据源取得用户信息。不同的数据源需要用不同的Realm实现

UsernamePasswordToken token=new UsernamePasswordToken("javass","cc");  
           token.setRememberMe(true);  
           //取得Subject  
           Subject currentUser=SecurityUtils.getSubject();  
           //调用Subject的login方法,这时候Shiro开始进入自动验证  
           //中间需要调用自己实现的realm取得用户信息  
           currentUser.login(token);

Realm

    Realm是Shiro取得用户数据的类,功能即DAO的功能。Realm类需要用户自己实现,对应不同的数据源要继承不同的Realm。然后,父写其中的两个方法:doGetAuthorizationInfo(取权限信息)、doGetAuthenticationInfo(取得用户信息)。

转载于:https://my.oschina.net/u/3621003/blog/1490222

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值