shiro实现登录安全认证

shiro的优势,不需要再代码里面判断是否登录,是否有执行的权限,实现了从前端页面到后台代码的权限的控制非常的灵活方便

传统的登录认证方式是,从前端页面获取到用户输入的账号和密码之后,直接去数据库查询账号和密码是否匹配和存在,如果匹配和存在就登录成功,没有就提示错误

而shiro的认证方式则是,从前端页面获取到用户输入的账号和密码之后,传入给一个UsernamePasswordToken对象也就是令牌,

然后再把令牌传给subject,subject会调用自定义的 realm,

realm做的事情就是用前端用户输入的用户名,去数据库查询出一条记录(只用用户名去查,查询拿到返回用户名和密码),然后再把两个密码进行对比,不一致就抛出异常

也就是说如果subject.login(token);没有抛出异常,就表示用户名和密码是匹配的,表示登录成功

 

实现步骤:

1.在maven中引入shiro-all包;

2.配置shiroConfig 

3.继承AuthorizingRealm,重写doGetAuthenticationInfo方法

4.自己定义认证方法,创建UsernamePasswordToken对象token

5.subject.login(token)认证

实现可参考:

https://blog.csdn.net/sage_wang/article/details/79592269

获取更多精彩内容,请支持关注博主公众号


版权声明:本文为StarskyBoy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。