参照写的,但是没有输出结果

来源:3-2 Shiro授权

桃花笑语

2018-10-24 16:59

我用的是eclipse工具;跟老师代码相同,就是添加用户不同,但是我的没有输出结果,在subject.login(token);就报异常了

代码如下:

public class AuthenticationTest {
    
    SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();
    
    public void addUser() {
        simpleAccountRealm.addAccount("wyl", "123");
    }

    /**
     * shiro认证
     */
    @Test
    public void testAuthentication(){        
        //1、构建SecurityManager环境
        DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
        defaultSecurityManager.setRealm(simpleAccountRealm);
        
        //2、主体提交认证请求
        SecurityUtils.setSecurityManager(defaultSecurityManager);
        Subject subject = SecurityUtils.getSubject();
        
        UsernamePasswordToken token = new UsernamePasswordToken("wyl", "123");
        subject.login(token);
        //3、SecurityManager认证
        //4、Authenticator认证
        //5、Realm验证
        
        System.out.println("isAuthenticated:" + subject.isAuthenticated());
            
    }

}

写回答 关注

2回答

  • Hankong
    2018-10-25 17:53:09
    // 1 构建SecurityManager环境
    // SecurityManager用 authenticate 进行认证  按住ctrl键鼠标双击 DefaultSecurityManager
    DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
    defaultSecurityManager.setRealm(simpleAccountRealm); //注意这一行,视频中没有


  • 木木__
    2018-10-25 13:22:52

    @Before注解

    https://img3.mukewang.com/5bd153290001068306100149.jpg

Shiro安全框架入门

从零入门Shiro安全框架

48040 学习 · 332 问题

查看课程

相似问题