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("认证失败");
    }


    }
    }
  • 相关阅读:
    最短路回顾
    树链剖分【模板】
    grep 、find 、tree 新发现
    网口划VLAN
    JDK安装
    网口做trunk
    PXE搭建
    C# 生成DLL文件
    在form窗体里面 寻找当前焦点的控件
    在屏幕右下方显示提示信息(winform窗体)(借鉴)
  • 原文地址:https://www.cnblogs.com/LQ970811/p/12986138.html
Copyright © 2011-2022 走看看