shiro安全框架

创建一个maven java工程

 <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>1.9.0</version>
        </dependency>

 

public class TestShiro01 {
    public static void main(String[] args) {
        //1.获取SecutiryManager对象
        DefaultSecurityManager securityManager = new DefaultSecurityManager();
        //2.读取ini文件
        IniRealm iniRealm = new IniRealm("classpath:shiro.ini");
        //3.设置securityManager的realm
        securityManager.setRealm(iniRealm);
        //4. 设置securityManager上下文生效
        SecurityUtils.setSecurityManager(securityManager);

        //5. 获取subject主体对象
        Subject subject= SecurityUtils.getSubject();
        try {
            //UsernamePasswordToken作用就是封装你输入的账号和密码 是客户输入的账号和密码
            UsernamePasswordToken token=new UsernamePasswordToken("zhangsan","123456");
            //抛出异常 比对shiro中realm把你自带对比
            subject.login(token);
            System.out.println("登录成功");
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("账号或密码错误");
        }

    }
}
 

public class TestShiro01 {
    public static void main(String[] args) {
        //1.获取SecutiryManager对象
        DefaultSecurityManager securityManager = new DefaultSecurityManager();
//        //2.读取ini文件
        IniRealm iniRealm = new IniRealm("classpath:shiro.ini");
        //3.设置securityManager的realm
        securityManager.setRealm(iniRealm);
        //4. 设置securityManager上下文生效
        SecurityUtils.setSecurityManager(securityManager);

        //5. 获取subject主体对象
        Subject subject= SecurityUtils.getSubject();
        try {
            //UsernamePasswordToken作用就是封装你输入的账号和密码 是客户输入的账号和密码
            UsernamePasswordToken token=new UsernamePasswordToken("zhangsan","123456");
            //抛出异常 比对shiro中realm把你自带对比
            subject.login(token);
            System.out.println("登录成功");
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("账号或密码错误");
        }
       // subject.logout();
        System.out.println("====================================================登录后=====================================");
        boolean authenticated = subject.isAuthenticated();
        if(authenticated){
            //判断当前登录者是否具有user:query权限
            boolean permitted = subject.isPermitted("user:update");
            System.out.println(permitted);
            //从角色角度
            boolean b = subject.hasRole("role1");
            System.out.println(b);
        }else{
            System.out.println("请先认证");
        }
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值