`

解决SpringSide 3.2.2用户注册后自动登录问题

阅读更多

首先,客户端登录时密码在客户端通过MD5加密,在CustomAuthenticationProcessingFilter中验证时不需要加密。

用户登录页面:

<script src="${ctx}/js/jquery.js" type="text/javascript"></script>
<script src="${ctx}/js/jquery.sha1.js" type="text/javascript"></script>
<script src="${ctx}/js/validate/jquery.validate.js" type="text/javascript"></script>
<script src="${ctx}/js/validate/messages_cn.js" type="text/javascript"></script>
<script>
 function reloadCaptcha() {
  $("#captcha").attr("src", "${ctx}/servlet/captchaServlet?r=" + Math.random());
 }
 function encode() {
  $('#j_password').val($.sha1($('#j_password').val()));
  return true;
 }
 $(document).ready(function() {
  $("#j_username").focus();
 });
</script>

<div><label>密码:</label><input type='password' id='j_password' name='j_password' class="required" /></div>

用户注册页面,当用户注册结束后,我们使用一个跳转把用户名、密码和验证码等都自动提交,从而实现用户自动登录。

<script src="${ctx}/js/jquery.js" type="text/javascript"></script>
 <script src="${ctx}/js/jquery.form.js" type="text/javascript"></script>
 <script src="${ctx}/js/jquery.sha1.js" type="text/javascript"></script>
 <script src="${ctx}/js/validate/jquery.validate.js" type="text/javascript"></script>
 <script src="${ctx}/js/validate/messages_cn.js" type="text/javascript"></script>
 <script>
  function reloadCaptcha() {
   $("#captcha").attr("src", "${ctx}/servlet/captchaServlet?r=" + Math.random());
  }
  $(document).ready(function() {
   $("#loginName").focus();
   $("#registerForm").validate({
    rules: {
     loginName: {
      required: true,
      remote: "account!checkLoginName.action?oldLoginName=" + encodeURIComponent('${loginName}')
     },
     name: "required",
     password: {
      required: true,
      minlength: 6
     },
     passwordConfirm: {
      equalTo:"#password"
     },
     email: "email",
     j_captcha: {
      required: true,
      remote: "account!checkCaptcha.action"
     },
     agreed: "required"
    },
    messages: {
     loginName: {
      remote: "用户登录名已存在"
     },
     name: '姓名不能为空',
     email: '邮箱格式错误',
     passwordConfirm: {
      equalTo: "输入与上面相同的密码"
     },
     j_captcha: '验证码错误'
    },
    submitHandler: function(form) {
     $('#password').val($.sha1($('#password').val()));
     $(form).ajaxSubmit({
      success: function(msg) {
       alert("用户注册成功!");
       window.location = "${ctx}/j_spring_security_check?j_username=" + $('#loginName').val() + "&j_password=" + $('#password').val() + "&j_captcha=" + $('#j_captcha').val();
      },
      error: function(msg) {
       alert("用户注册失败!");
      }
     });
     return false;
    }
   });
  });
 </script>

其次,在application-Context.xml中,密码采用明文方式,即在springsecurity过滤时不需要再次加密密码

<s:authentication-provider user-service-ref="userDetailsService">

                   <s:password-encoder hash="plaintext" />

                   <!-- <s:password-encoder hash="sha" base64="false"/> -->

         </s:authentication-provider>

分享到:
评论

相关推荐

    SpringSide3.2.2的安装及常见错误

    SpringSide3.2.2的安装及常见错误.rar

    springside-3.2.2源码

    通过对 Springside 3.2.2 源码的深入学习,开发者可以掌握基于 Spring 的企业级应用开发技术,理解模块化设计、MVC 架构、依赖注入等核心概念,同时也能了解到项目管理和自动化构建的最佳实践。这将有助于提升开发者...

    springside-3.2.2-all-in-one.zip

    《SpringSide 3.2.2 全集详解》 SpringSide 是一个开源的Java EE开发框架,旨在简化Spring框架的使用,提供一系列最佳实践和模板,帮助开发者快速构建高质量的Java应用程序。SpringSide 3.2.2是该项目的一个稳定...

    springside3-core-3.2.2包

    springside3-core-3.2.2 

    SpringSide4 参考手册

    整体来看,SpringSide4参考手册是一份非常详尽的指南,它不仅包含了SpringSide4平台的功能介绍,还提供了实际应用中可能遇到的各种技术问题的解决方案。无论是前端技术如Ajax、JQuery,还是后端技术如SpringMVC、...

    springside开发全面讲解

    springside是一款基于Spring框架的轻量级开发工具集,它为Java开发提供了简洁、高效的解决方案,尤其适合中大型项目的开发。尽管springside集合了多种复杂的技术,但这并不意味着初学者无法涉足。本资料将由浅入深,...

    Springside-core-4.1.0/Springside-core-4.1.0

    1. **自动配置**:借鉴了Spring Boot的自动配置思想,SpringSide-core-4.1.0允许开发者通过简单的配置就能启动一个完整的应用环境。 2. **安全框架集成**:集成了Spring Security,提供了用户认证、授权等功能,...

    有springside4.2.3-GA.jar 包

    5. **社区支持**:SpringSide拥有活跃的社区,遇到问题时可以得到及时的技术支持和解决方案。 总的来说,springside4.2.3-GA.jar是Java开发者的重要资源,它提供了一个高效、稳定的开发环境,并且通过模块化的设计...

    springside

    4. **文档**:SpringSide项目拥有详尽的文档,包括用户手册、开发者指南和技术博客,为开发者提供了丰富的学习资源。 在SpringSide的压缩包文件中,"springside"可能是一个示例项目的根目录,包含了项目的所有源...

    springside3.0.zip

    《SpringSide 3.0:Java企业开发的高效框架指南》 SpringSide 3.0 是一个基于Spring框架的开源项目,旨在为Java开发者提供一套高效、简洁的开发规范和工具集。它不仅包含了Spring的核心模块,还整合了其他优秀的...

    springside4-4.2.3.GA

    在持续集成和自动化测试方面,SpringSide 4.2.3.GA使用Jenkins进行持续集成,通过Maven的生命周期管理自动化构建和测试流程,保证了代码的质量。同时,它还采用JUnit和Mockito进行单元测试,通过集成TestNG实现更...

    Springside4 学习整理

    - 解决实际问题:如在 Spring MVC 中,通过 @InitBinder 解决了表单数据绑定到实体时的类型转换问题,例如将字符串转换为日期。 3. 采用的技术及遇到的问题: - Spring MVC:作为 MVC 框架,负责处理 web 请求和...

    springside3.3.4 使用方法

    ### springside3.3.4使用方法与SSH整合详解 #### 一、Springside简介 Springside项目是基于Spring框架的一个应用架构示例,它提供了一套完整的开发模式来构建企业级Java Web应用程序。Springside 3.3.4版本作为一...

    springside框架

    《SpringSide框架详解:整合Spring、Hibernate与Struts2的高效解决方案》 SpringSide框架,作为一款基于Java的开源企业级应用开发框架,是开发者们为了简化开发流程、提高开发效率而精心设计的。它巧妙地融合了...

    springside3文档资料收录

    依赖注入是Spring框架的核心,它解决了对象之间的耦合问题,降低了代码的复杂度。在SpringSide3中,你会了解到如何通过XML配置或注解方式实现依赖注入,以及如何使用ApplicationContext管理bean。 三、面向切面编程...

    springside4-4.1.0.GA

    SpringSide拥有活跃的社区,开发者可以在其中交流问题、分享经验,获取及时的技术支持和更新信息。社区的活跃度是SpringSide持续发展和改进的重要保障。 总结,SpringSide 4.1.0.GA作为一款成熟的Java开发框架,...

    springside-core-4.2.2.GA(含关联的test.jar)

    pom.xml配置 ...mvn install:install-file -DgroupId=org.springside -DartifactId=springside-core -Dversion=4.2.2.GA -Dfile=./springside-core-4.2.2.GA.jar -Dpackaging=jar -DgeneratePom=true

    springside-core-4.1.0.GA.jar

    这个jar包不仅包含了springside-core-4.1.0.GA的主要功能,还兼容了springside-core-3.3.4.jar的某些特性,确保了向后兼容性,这对于维护旧项目的开发者来说是极为有益的。 Springside是一个轻量级的Java开发工具集...

    springside3.3完整版

    《SpringSide 3.3 完整版:深入解析与实战指南》 SpringSide 是一个开源的Java项目,旨在提供一套简洁、规范的Spring应用开发模板,帮助开发者快速上手Spring框架。本版本,即“springside3.3”,是专为MyEclipse...

Global site tag (gtag.js) - Google Analytics