为什么 每次执行到subject.login(token) 程序就steped呢

来源:3-4 JdbcRealm讲解

慕前端7088294

2018-11-28 11:47

public static void main(String[] args) {

DruidDataSource druidDataSource = new DruidDataSource();

druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");

druidDataSource.setUrl("jdbc:mysql://localhost:3306/test?Unicode=true&characterEncoding=UTF-8&allowMultiQueries=true");

druidDataSource.setUsername("root");

druidDataSource.setPassword("root");

JdbcRealm jdbcRealm = new JdbcRealm();

jdbcRealm.setDataSource(druidDataSource);

jdbcRealm.setPermissionsLookupEnabled(true);

String userQuerySql = "select user_pwd from t_users where user_name = ?";

jdbcRealm.setAuthenticationQuery(userQuerySql);

DefaultSecurityManager securityManager = new DefaultSecurityManager();

securityManager.setRealm(jdbcRealm);

SecurityUtils.setSecurityManager(securityManager);

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("23","123456");

try {

System.out.println("---------");

subject.login(token);

} catch (Exception e) {

System.out.println(e.getMessage());

}

System.out.println(subject.isAuthenticated());

}


写回答 关注

1回答

  • qq_慕桂英623274
    2018-11-29 23:46:18

    验证失败会有异常。加个异常处理

Shiro安全框架入门

从零入门Shiro安全框架

48050 学习 · 347 问题

查看课程

相似问题