spring整合shiro

1.apache shiro框架简介

官网:shiro.apache.org

下载文件:     

l  shiro框架的核心功能:认证  授权  会话管理  加密

l  shiro框架认证流程:

Application Code:应用程序代码,由开发人员负责开发的

Subject:框架提供的接口,代表当前用户对象

SecurityManager:框架提供的接口,代表安全管理器对象

Realm:可以开发人员编写,框架也提供一些,类似于DAO,用于访问权限数据

2.应用shiro框架进行认证

第一步:引入shiro框架相关的jar

 第二步:在web.xml中配置spring框架提供的用于整合shiro框架的过滤器

第三步:在spring配置文件中配置bean,id为shiroFilter(URL方式权限控制)

框架提供的过滤器:

第四步:配置安全管理器

第五步:使用shiro提供的方式进行登陆认证操作

第六步:自定义realm,并注入给安全管理器

public class BOSRealm extends AuthorizingRealm{

         @Autowired

         private IUserDao userDao;

        

         //认证方法

         protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {

                   System.out.println("realm中的认证方法执行了。。。。");

                   UsernamePasswordToken mytoken = (UsernamePasswordToken)token;

                   String username = mytoken.getUsername();

                   //根据用户名查询数据库中的密码

                   User user = userDao.findUserByUserName(username);

                   if(user == null){

                            //用户名不存在

                            return null;

                   }

                   //如果能查询到,再由框架比对数据库中查询到的密码和页面提交的密码是否一致

                   AuthenticationInfo info = new SimpleAuthenticationInfo(user, user.getPassword(), this.getName());

                   return info;

         }

 

         //授权方法

         protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {

                   // TODO Auto-generated method stub

                   return null;

         }

猜你喜欢

转载自www.cnblogs.com/naixin007/p/9008965.html