权限框架 - shiro 简单入门实例

前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的

今天开始咱们来讲讲Shiro

首先引入基本的jar包


        
            org.apache.shiro
            shiro-core
        
        
            org.apache.shiro
            shiro-web
        
        
            org.apache.shiro
            shiro-spring
        
        
            org.apache.shiro
            shiro-ehcache
        
        
            org.apache.shiro
            shiro-quartz
        

项目工程结构:


权限框架 - shiro 简单入门实例_第1张图片

创建shiro-demo.ini:

user infomation configer: [name=pwd][users]lee=123456nee=654321

构建一个junit测试最基本的登录登出

@Test
    public void testLoginAndLogout() {
        // 创建SecurityManager工厂,通过ini配置文件创建 SecurityManager工厂
        Factory factory = new IniSecurityManagerFactory("classpath:shiro/shiro-demo.ini");
        // 创建SecurityManager
        SecurityManager securityManager = factory.getInstance();
        // 设置SecurityManager到运行环境中,保持单例模式
        SecurityUtils.setSecurityManager(securityManager);
        // 从SecurityUtils里边创建一个subject
        Subject subject = SecurityUtils.getSubject();
        // 在认证提交前准备token(令牌)
        // 这里的账号和密码 将来是由用户输入进去
        UsernamePasswordToken token = new UsernamePasswordToken("lee", "123456");
        try {
            // 执行认证提交
            subject.login(token);
        } catch (AuthenticationException e) {
            e.printStackTrace();
        }
        // 是否认证通过
        boolean isAuthenticated = subject.isAuthenticated();
        System.out.println("是否认证通过:" + isAuthenticated);
        // 退出操作
        subject.logout();
        // 是否认证通过
        isAuthenticated = subject.isAuthenticated();
        System.out.println("是否认证通过:" + isAuthenticated);
    }

运行后就可以测试用户名密码正确与否的情况是否能够通过

用户名不正确,密码不正确,或者用户名不存在都将以异常的信息抛出

尚自习 | 程序员的进阶平台 itzixi.com

微信公众号:BeJavaGod

Java技术交流群

你可能感兴趣的:(权限框架 - shiro 简单入门实例)