zoukankan      html  css  js  c++  java
  • shiro 简单的创建及验证

    package com.qr.shiro;

    import org.apache.shiro.SecurityUtils;
    import org.apache.shiro.authc.IncorrectCredentialsException;
    import org.apache.shiro.authc.UnknownAccountException;
    import org.apache.shiro.authc.UsernamePasswordToken;
    import org.apache.shiro.mgt.DefaultSecurityManager;
    import org.apache.shiro.realm.text.IniRealm;
    import org.apache.shiro.subject.Subject;
    /**

    * @author LiuQi
    */
    public class ShiroDemo {
    public static void main(String[] args) {
    //1.创建安全管理器对象
    DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
    //2.给安全管理器设置Realm
    defaultSecurityManager.setRealm(new IniRealm("classpath:shiro.ini"));
    //3.SecurityUtils 给全局安全工具类设置安全管理器
    SecurityUtils.setSecurityManager(defaultSecurityManager);
    //4.关键对象 subject 主体
    Subject subject = SecurityUtils.getSubject();
    //5.创建令牌
    UsernamePasswordToken token = new UsernamePasswordToken("xiaobai", "123456");


    try {
    System.out.println("认证状态:" + subject.isAuthenticated());

    subject.login(token); //用户认证

    System.out.println("认证状态:" + subject.isAuthenticated());

    System.out.println("认证通过");
    } catch (UnknownAccountException e) {

    e.printStackTrace();
    System.out.println("该用户名不存在~~~");
    System.out.println("认证失败");
    }catch (IncorrectCredentialsException e){
    e.printStackTrace();
    System.out.println("该密码不存在~~~");
    System.out.println("认证失败");
    }


    }
    }
  • 相关阅读:
    设计模式学习总结
    算法时间复杂度和空间复杂度表示
    SQLite简单使用
    接口,组合和继承的想法
    二叉树的学习
    Oracle 常用命令大汇总
    Oracle 最常用功能函数经典汇总
    oracle 常用command
    历史最牛演讲:Oracle总裁Yale演讲全文中英文对照
    深入abstract class和interface
  • 原文地址:https://www.cnblogs.com/LQ970811/p/12986138.html
Copyright © 2011-2022 走看看