一位野生爸爸
2018-11-11 16:06

源码如下:
@Test
public void testAuthentication(){
JdbcRealm jdbcRealm=new JdbcRealm();
jdbcRealm.setDataSource(dataSource);
jdbcRealm.setPermissionsLookupEnabled(true);
String sql="select password from users where user_name=?";
jdbcRealm.setAuthenticationQuery(sql);
String roleSql="select role_name from test_user_roles where user_name = ?";
jdbcRealm.setUserRolesQuery(roleSql);
DefaultSecurityManager defaultSecurityManager=new DefaultSecurityManager();
defaultSecurityManager.setRealm(jdbcRealm);
SecurityUtils.setSecurityManager(defaultSecurityManager);
Subject subject= SecurityUtils.getSubject();
UsernamePasswordToken token=new UsernamePasswordToken("Mark","123456");
subject.login(token);
System.out.println("isAuthenticated:"+subject.isAuthenticated());
subject.checkRole("user");
}数据表结构:

你表里user_name字段中有一个叫Mark的用户吗?
Shiro安全框架入门
48051 学习 · 347 问题
相似问题