shiro自定义realm——实战

*

* @author leechenxiang

* @date 2016年6月11日 下午9:07:27

*/

@Test

public void testFooRealm() {

// 创建SecurityManager工厂,通过ini配置文件创建 SecurityManager工厂

Factory<securitymanager> factory = new IniSecurityManagerFactory("classpath:shiro/shiro-realm.ini");/<securitymanager>

// 创建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);

}