权限框架 - shiro 自定义realm
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了权限框架 - shiro 自定义realm,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1922字,纯文字阅读大概需要3分钟。
内容图文
![权限框架 - shiro 自定义realm](/upload/InfoBanner/zyjiaocheng/1232/584ab70d552a43d98d66061feb0a61cd.jpg)
上篇文章中是使用的默认realm来实现的简单登录,这仅仅只是个demo,真正项目中使用肯定是需要连接数据库的
首先创建自定义realm文件,如下:
在shiro中注入自定义realm的完全限定类名:
1 [main] 2 # your custom realm path 3 fooRealm=com.lee.shiro.realm.FooRealm 4 # DI such as spring DI 5 securityManager.realms=$fooRealm
自定义realm认证:
1 /** 2 * 设置realm的名称 3 */ 4 @Override 5 public void setName(String name) { 6 super.setName("fooRealm"); 7 } 8 9/**10 * 认证 11*/12 @Override 13protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { 1415// token是用户输入的相关信息 16// 从token中取出身份信息, 即用户的username17 String username = (String)token.getPrincipal(); 1819// 根据用户名username从数据库查询密码password 20// 如果查询不到返回null 21// String password = userService.queryPwdByUserName(username) 2223// 假设数据库查询出来的密码为如下24 String password = "1234567"; 2526// 如果查询到返回认证信息AuthenticationInfo27 SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(username, password, this.getName()); 2829return simpleAuthenticationInfo; 30 }
执行认证:
/** * * @Description: 自定义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 = 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); }
done...
原文:http://www.cnblogs.com/leechenxiang/p/5575968.html
内容总结
以上是互联网集市为您收集整理的权限框架 - shiro 自定义realm全部内容,希望文章能够帮你解决权限框架 - shiro 自定义realm所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。