如何将保存在shiro管理的session中的对象取出来

如何讲一个对象保存在shiro的session中 其实在我们登录认证通过以后我们就已经将对象保存在shiro维护的session中了,

// 认证 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken arg0) throws AuthenticationException { String username = (String) arg0.getPrincipal(); // 数据库操作 // 根据当前的用户名查询用户的个人信息,这里主要是密码 User user = new User(); user.setUserName(username); // 从数据库中查询出来的用户的真实信息 User userDb = service.getUser(user); //将密码通过加盐和加密然后在和数据库中查找出的密码进行比较 //第一个参数就是我们需要在保存在shiro中的session中的对象, // 注入第二参数是从数据库中查询出来的正确的密码,shiro会自动判断,如果此密码和刚才传递的密码不知会上抛异常 //第三个参数是盐, //第四个参数是自定义的realm的名字,改方法可以重写自己随意更改 SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(userDb,userDb.getUserPassword(), ByteSource.Util.bytes(userDb.getSalt()),getName()); return info;

  1. 当我们需要shiro管理的session中的对象是可以调用SecurityUtils.getSubject().getPrincipal();
    //从shiro的session中取出我们保存的对象,该对象在登录认证成功后保存的 User user = (User) SecurityUtils.getSubject().getPrincipal();

【如何将保存在shiro管理的session中的对象取出来】``

    推荐阅读