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


    }
    }
  • 相关阅读:
    计算三角形的周长和面积的类
    类的定义和继承
    简单类的定义和继承
    template <typename T>模板类定义
    字符串中取出数字字符串
    C++类定义 常量定义
    cogs1752[boi2007]mokia 摩基亚 (cdq分治)
    bzoj3262陌上花开 cdq分治入门题
    初入lambda表达式 (主要是c++11)
    空之境界
  • 原文地址:https://www.cnblogs.com/LQ970811/p/12986138.html
Copyright © 2011-2022 走看看