spring mvc 4.3.2 + mybatis 3.4.1 + mysql 5.7.14 +shiro 幼儿园收费系统 之 登录

如标题,用spring mvc 4.3.2+mybatis 3.4.1 + mysql 5.7.14 +shiro 开发了一个用于幼儿园的管理系统。

  功能模块 包括 账号,角色,权限管理。 幼儿档案管理, 幼儿收费管理等。 权限方面采用了shiro的权限控制,感觉还是蛮强大的。我的理念是 简单,够用就好。

前端框架是基于H-ui.admin的模板来开发的。这个模板用起来还是蛮方便的,适合对前端不是很熟的人采用,可以达到专业的效果。赞一个。

先截个图

实现要点,前端用js把密码用md5加密后传给后台。 防止密码明文传送。

后台controller 实现要点, 采用 shiro 的密码验证。

    @RequestMapping(value="/login",method=RequestMethod.POST)
    public String login(@ModelAttribute LoginDto login,
    		HttpServletRequest request,Model model,
    		BindingResult bindingResult,
    		RedirectAttributes redirectAttributes){
        try {
        	logger.info("login is:"+JSON.toJSONString(login));

        	String code = (String) request.getSession().getAttribute("code");

        	if (code != null && !code.equalsIgnoreCase(login.getCode())){
        		model.addAttribute("error","验证码错误");
        		model.addAttribute("LoginDto",login);
                return "/login";
        	}

            if(bindingResult.hasErrors()){
                return "/login";
            }
            //使用权限工具进行用户登录,登录成功后跳到shiro配置的successUrl中,与下面的return没什么关系!
            UsernamePasswordToken token = new UsernamePasswordToken(login.getUserName(), login.getPassword());
            if (login.getRememberMe() == null){
            	login.setRememberMe(false);
            }
            token.setRememberMe(login.getRememberMe());
            SecurityUtils.getSubject().login(token);

            return "redirect:/";
        } catch (AuthenticationException e) {
            //redirectAttributes.addFlashAttribute("message","用户名或密码错误");
    		model.addAttribute("error","用户名或密码错误");
    		model.addAttribute("LoginDto",login);
            return "/login";
        }

  

时间: 2024-10-14 18:42:45

spring mvc 4.3.2 + mybatis 3.4.1 + mysql 5.7.14 +shiro 幼儿园收费系统 之 登录的相关文章

spring mvc 4.3.2 + mybatis 3.4.1 + mysql 5.7.14 +shiro 幼儿园收费系统 之 动态组合条件查询

实际应用中,系统设计无法预料到用户最终的查询条件是怎样的.通常的做法是给出一些限制死的查询条件让用户查询.业务稍有改动,就要重新设计界面,增加查询字段等,费时费力. 比较好的做法是,除了常用的查询外,给出一个高级的查询条件功能,让用户自己组织查询条件.截图如下,具体实现稍后给出. 下图就是用户点击高级查询时,弹出条件组合窗口,让用户自己组合.这样做,开发省力,又能满足用户的未来需求.

Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架(注解模式哦)

首先感谢一下润和软件,指引我走上了Spring MVC Web开发的道路. 下面进入正题 搭建开发环境: Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.15 本次采用的Spring MVC Jar包如下: spring-aop-4.1.3.RELEASE.jar spring-beans-4.1.3.RELEASE.jar spring-context-4.1.3.RELEASE.jar spring-context-support-4.1.3.RE

[转] Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架

首先感谢一下润和软件,指引我走上了Spring MVC Web开发的道路. 下面进入正题 搭建开发环境: Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.15 本次采用的Spring MVC Jar包如下: spring-aop-4.1.3.RELEASE.jar spring-beans-4.1.3.RELEASE.jar spring-context-4.1.3.RELEASE.jar spring-context-support-4.1.3.RE

ssm(spring,spring mvc,mybatis)框架

ssm框架各个技术的职责 spring :spring是一个IOC DI AOP的 容器类框架 spring mvc:spring mvc 是一个mvc框架 mybatis:是一个orm的持久层框架 一般web项目的架构: jsp界面 ===> 控制层(Controller)== >业务逻辑层(Service)==>持久化层(dao)== >数据库层(Database) spring 框架是一个容器,作用在所有层. spring mvc 主要作用在控制层 mybatis主要作用在持

为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】

每篇一句 胡适:多谈些问题,少聊些主义 前言 Spring MVC和MyBatis作为当下最为流行的两个框架,大家平时开发中都在用.如果你往深了一步去思考,你应该会有这样的疑问: 在使用Spring MVC的时候,你即使不使用注解,只要参数名和请求参数的key对应上了,就能自动完成数值的封装 在使用MyBatis(接口模式)时,接口方法向xml里的SQL语句传参时,必须(当然不是100%的必须,特殊情况此处不做考虑)使用@Param('')指定key值,在SQL中才可以取到 我敢相信这绝不是我一

Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用

Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单单实现这两个需求的话,那么基本足够,但是很多时候一个网站除了仅仅能够访问数据库是不够的,它还需要对性能以及更简化的步骤有着更多的要求,这一篇重点就是帮助我们如何去实现数据连接池管理与更简化便利的开发步骤. 如果你觉得自己能写出更高效率的连接池,那你可以不需要这篇文章了,我更建议你可以去开源组织毛遂自

在Spring MVC中使用Apache Shiro安全框架

我们在这里将对一个集成了Spring MVC+Hibernate+Apache Shiro的项目进行了一个简单说明.这个项目将展示如何在Spring MVC 中使用Apache Shiro来构建我们的安全框架. [TOC] 阅读文章前,您需要做以下准备: Maven 3环境Mysql-5.6+JDK1.7+git环境git.oschina.net帐号Apache Tomcat 7+您熟练掌握的编辑工具,推荐使用InterlliJ IDEA 14+开始项目地址git.oschina.net 项目地

基于Spring + Spring MVC + Mybatis + shiro 高性能web构建

一直想写这篇文章,前段时间 痴迷于JavaScript.NodeJs.AngularJS,做了大量的研究,对前后端交互有了更深层次的认识. 今天抽个时间写这篇文章,我有预感,这将是一篇很详细的文章,详细的配置,详细的注释,看起来应该很容易懂. 用最合适的技术去实现,并不断追求最佳实践.这就是架构之道. 希望这篇文章能给你们带来一些帮助,同时希望你们可以为这个项目贡献你的想法. 源码地址:https://github.com/starzou/quick4j 点击打开 看我们的项目结构: 是一个典型

Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc、Mybatis)视频教程

Extjs5.0从入门到实战开发信息管理系统(Extjs基础.Extjs5新特性.Spring.Spring mvc.Mybatis)视频教程下载   联系QQ:1026270010 Extjs作为一款优秀的JS前端开发框架以其良好的架构.丰富的UI组件库.完善的文档和社区支持等诸多优点拥有广泛的市场应用空间,开发人员无需过多的关注HTML.CSS甚至各种常用JS算法,只需把精力放在业务逻辑上,利用各种组件的相互组合调用便可轻松而高效的开发出系统的前端页面. Extjs5在之前版本的基础上又推出