maven spring hibernate shiro
2019独角兽企业重金招聘Python工程师标准>>>
maven spring hibernate RBAC shiro mysql
代码发布于 http://git.oschina.net/alexgaoyh/alexgaoyh
1:数据库表结构设计采用RBAC权限模型,即五张表结构设计(用户,角色,用户-角色,权限,角色-权限),本文不再详细说明;
2:shiro使用过程中:
2.1:以下这个类是进行用户的数据库验证的,从数据库里面查出是否有这个用户。
public class ShiroDbRealm extends AuthorizingRealm
需要注意的是 doGetAuthenticationInfo 方法的
return new SimpleAuthenticationInfo(user, user.getPassword(), ByteSource.Util.bytes(user.getPassword()),getName()); 部分;
2.2: 在生成对用表结构的时候,需要注意本例中的user表中password字段使用了MD5加密,
所以,在生成表结构之后,执行以下方法生成对应的用户数据:
public String saveSysmanUserEntity() throws Exception{SysmanUser su = new SysmanUser();su.setUserName("admin");su.setRealName("admim");su.setPassword(new Md5Hash("admin").toHex());su.setStatus(SysmanUser.STATUS_NORMAL);sysmanUserService.saveOrUpdate(su);return JSONObject.valueToString(su);}
2.3: 同时在登陆方法中
public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) {Map<String, Boolean> map = new HashMap<String, Boolean>();boolean loginStatus = false;boolean captchaStatus = false;String captcha = request.getParameter("captcha");String exitCode = (String) request.getSession().getAttribute(CaptchaConstant.KEY_CAPTCHA);if (null == captcha || !captcha.equalsIgnoreCase(exitCode)) {System.out.println("验证码错误");}else{captchaStatus = true;String username = request.getParameter("username");String password = request.getParameter("password");Md5Hash md5Hash = new Md5Hash(password);UsernamePasswordToken token = new UsernamePasswordToken(username,md5Hash.toHex());System.out.println(token.getUsername());System.out.println(token.getPassword());try {Subject subject = SecurityUtils.getSubject();subject.login(token);token.clear();SysmanUser user = (SysmanUser) subject.getPrincipal();subject.getSession().setAttribute("adminCurrentUser", user);loginStatus = true;} catch (UnknownAccountException ex) {ex.printStackTrace();} catch (IncorrectCredentialsException ex) {ex.printStackTrace();}catch (Exception ex) {ex.printStackTrace();}}map.put("loginStatus", loginStatus);map.put("captchaStatus", captchaStatus);ModelAndView mav = new ModelAndView("views/admin/index", map);return mav;}
需要注意用户输入的password是明文,在生成token的时候,需要进行如下操作:
Md5Hash md5Hash = new Md5Hash(password);UsernamePasswordToken token = new UsernamePasswordToken(username,md5Hash.toHex());
转载于:https://my.oschina.net/alexgaoyh/blog/307679
maven spring hibernate shiro相关推荐
- Maven搭建springMVC+spring+hibernate环境
这次不再使用struts2做控制器,采用spring自己的springMVC框架实现. 首先,改写pom.xml文件,不需要struts2的相关jar了. pom.xml <project xm ...
- Maven搭建Springmvc+Spring+Hibernate+html
最近在学前端,由于之前是干Android和Java所以顺便就搞搞Web的东西.于是就摸索了用Maven搭建Springmvc+Spring+Hibernate+html的工程,废话不多说. 工具:Ec ...
- Spring+SpringMVC+shiro+mysql(一)
Spring+SpringMVC+shiro+mysql(一) 最近要做个后台管理系统,就会设计到权限的管理控制,于是就想到 shiro ,下面是自己对Spring+shiro的一点点理解,记录下来, ...
- maven+spring mvc+mybatis+redis+dubbo+zookeeper
2019独角兽企业重金招聘Python工程师标准>>> 黎孟阳 随笔 - 6, 文章 - 0, 评论 - 0, 引用 - 0 maven+spring mvc+mybatis+red ...
- pytorch1.0.1_将Spring 3.x和Hibernate 3.x升级到Spring Platform 1.0.1(Spring + hibernate 4.x)
pytorch1.0.1 最近,我自愿将我们的最新项目升级到最新版本的Spring Platform. Spring Platform为您提供的是整个Spring框架库集中的依赖项和插件管理. 由于我 ...
- SSH之IDEA2017整合Struts2+Spring+Hibernate
摘要 IDEA无疑是Java编程的利器,在下面我们将介绍如何使用IDEA来整合SSH(Struts2 + Spring + Hibernate):介绍將分为三个部分来讲,分别是新建工程,Spring引 ...
- Spring Boot Shiro 权限管理
Spring Boot Shiro 权限管理 标签: springshiro 2016-01-14 23:44 94587人阅读 评论(60) 收藏 举报 本来是打算接着写关于数据库方面,集成MyBa ...
- springmvc+spring+hibernate集成cxf
首先说一下背景,我们的系统是springmvc+spring+hibernate,已经能正常运行,现在要开发webservice,选用cxf. 1.maven依赖 <dependency> ...
- 【Spring 数据访问终篇】Spring + Hibernate + Mysql
说来惭愧,数月没有更新博客,今天带来spring访问数据的最终篇,spring + hibernate. 本篇文章将用maven创建一个简答的java项目,并结合spring框架中的hibernate ...
最新文章
- linux insight 使用教程,Insight API开源项目分析
- 万万没想到,一个可执行文件原来包含了这么多信息!
- leetcode117. 填充每个节点的下一个右侧节点指针 II(dfs)
- 经验分享:Web前端入门要怎么开始学?
- Ansible首次ssh问题解决
- (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试
- poj 匈牙利二分匹配 1274 The Perfect Stall
- 在mysql上发布jbpm4.3
- 赤兔AVI视频恢复软件找回永久删除的avi视频
- Unity场景打包AssetBundle并加载
- Githut Token (hidden): Githut 安装验证
- P4816 [USACO15DEC]High Card Low Card G 题解
- 我的世界服务器怎么制作头颅,我的世界怎么刷生物头颅 我的世界生物头颅制作方法-游侠网...
- 台式计算机usb口不能用,电脑usb接口不能用怎么办【图文教程】
- 按关键词搜索商品 淘宝API
- 网易运营微专业_用户运营
- 关于swiper在移动端,快速上下滑动出现白边的解决办法
- 前端面试查漏补缺--(三) 跨域及常见解决办法
- 两个函数相加、相减、相乘等之后的单调性
- Development Tools 错误解决