最近在学shiro,觉得入门程序还是有用的,记下来防止遗忘,也可供大家参考。

package cn.itcast.shiro.authentication;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.Factory;
import org.junit.Test; /**
*
* @author yxf
* shiro验证用户的登录
*
*/
public class AuthenticationTest { //用户登录退出
@Test
public void testLoginAndLogout() {
//创建securityManager工厂
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro-first.ini"); //创建securityManager
SecurityManager securityManager = factory.getInstance(); //securityManager设置到当前运行环境中
SecurityUtils.setSecurityManager(securityManager); //SecurityUtils创建一个subject
Subject subject = SecurityUtils.getSubject(); //认证提交前准备token
UsernamePasswordToken token = new UsernamePasswordToken("zhangsan", "111111"); //执行认证提交
try {
subject.login(token);
} catch (AuthenticationException e) {
e.printStackTrace();
} //是否认证通过
boolean flag = subject.isAuthenticated(); System.out.println("是否认证通过:" + flag); //退出操作
subject.logout(); flag = subject.isAuthenticated(); System.out.println("是否认证通过:" + flag); }
}

最新文章

  1. 【leetcode】 Interleaving String (hard)
  2. ahjesus约束方法或属性的调用方
  3. Curling 2.0 分类: 搜索 2015-08-09 11:14 3人阅读 评论(0) 收藏
  4. jstl经典用法
  5. zoj 3471Most Powerful
  6. hdu4081(秦始皇的道路系统)
  7. 17年年终总结——走过2017,迎来2018Flag
  8. gdb中的define命令
  9. leetcode238
  10. 新复制行绑定JQuery.autocomplete事件
  11. 洛谷1288 取数游戏II
  12. asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法
  13. MySQL学习【第一篇介绍】
  14. 关于 error C2001: 常量中有换行符
  15. 【转】React-Native 实现增量热更新的思路
  16. 设计 Azure SQL 数据库,并使用 C# 和 ADO.NET 进行连接
  17. 【Mac 10.13.0】安装 libimobiledevice,提示报错:warning: unable to access &#39;/Users/lucky/.config/git/attributes&#39;: Permission denied解决方案
  18. email 校验
  19. JavaScrip——简单练习(输出方式,简单表单验证)
  20. 【selenium专题】元素定位之多层框架和窗口

热门文章

  1. M - COURSES
  2. Sring 类的例子
  3. a标签强制不换行
  4. 班级作业:Java Web环境的搭建
  5. stm32f769ni-discovery编译例程需要修改
  6. GitHub 设置首页显示 404 There isn&#39;t a GitHub Pages site here.
  7. F#周报2019年第2期
  8. python入门以及接口自动化实践
  9. 阿里云api调用做简单的cmdb
  10. RoR- Database setup&amp; SQLite ... Migrations