shiro 小结
shiro 资料很多,大家可以到网上找,找到后可以改成适合自己方式,就我自己的做个小结,并没有什么新鲜东西,怕忘记而已。
1.shiro 可以直接写JdbcRealm
2.也可以定制自己的,继承AuthorizingRealm就可以了
这里记录下第一种方式并与Spring集成:
第一步:建表
public String login()throws Exception {UsernamePasswordToken token = new UsernamePasswordToken(this.operId,this.password);//记录该令牌,如果不记录则类似购物车功能不能使用。token.setRememberMe(false);//subject理解成权限对象。类似userSubject subject = SecurityUtils.getSubject();try {subject.login(token);} catch (UnknownAccountException ex) {//用户名没有找到ex.printStackTrace();} catch (IncorrectCredentialsException ex) {//用户名密码不匹配ex.printStackTrace();}catch (AuthenticationException e) {//其他的登录错误e.printStackTrace();}subject.checkPermission("add");subject.checkRole("admin");if(subject.isPermitted("add")){System.out.println("admin");}if(subject.isPermitted("add")){System.out.println("add");}//验证是否成功登录的方法if (subject.isAuthenticated()) {return Constants.SUCCESS_KEY;}return Constants.FAILURE_KEY;}