首先,客户端登录时密码在客户端通过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的安装及常见错误.rar
通过对 Springside 3.2.2 源码的深入学习,开发者可以掌握基于 Spring 的企业级应用开发技术,理解模块化设计、MVC 架构、依赖注入等核心概念,同时也能了解到项目管理和自动化构建的最佳实践。这将有助于提升开发者...
《SpringSide 3.2.2 全集详解》 SpringSide 是一个开源的Java EE开发框架,旨在简化Spring框架的使用,提供一系列最佳实践和模板,帮助开发者快速构建高质量的Java应用程序。SpringSide 3.2.2是该项目的一个稳定...
springside3-core-3.2.2
整体来看,SpringSide4参考手册是一份非常详尽的指南,它不仅包含了SpringSide4平台的功能介绍,还提供了实际应用中可能遇到的各种技术问题的解决方案。无论是前端技术如Ajax、JQuery,还是后端技术如SpringMVC、...
springside是一款基于Spring框架的轻量级开发工具集,它为Java开发提供了简洁、高效的解决方案,尤其适合中大型项目的开发。尽管springside集合了多种复杂的技术,但这并不意味着初学者无法涉足。本资料将由浅入深,...
1. **自动配置**:借鉴了Spring Boot的自动配置思想,SpringSide-core-4.1.0允许开发者通过简单的配置就能启动一个完整的应用环境。 2. **安全框架集成**:集成了Spring Security,提供了用户认证、授权等功能,...
5. **社区支持**:SpringSide拥有活跃的社区,遇到问题时可以得到及时的技术支持和解决方案。 总的来说,springside4.2.3-GA.jar是Java开发者的重要资源,它提供了一个高效、稳定的开发环境,并且通过模块化的设计...
4. **文档**:SpringSide项目拥有详尽的文档,包括用户手册、开发者指南和技术博客,为开发者提供了丰富的学习资源。 在SpringSide的压缩包文件中,"springside"可能是一个示例项目的根目录,包含了项目的所有源...
《SpringSide 3.0:Java企业开发的高效框架指南》 SpringSide 3.0 是一个基于Spring框架的开源项目,旨在为Java开发者提供一套高效、简洁的开发规范和工具集。它不仅包含了Spring的核心模块,还整合了其他优秀的...
在持续集成和自动化测试方面,SpringSide 4.2.3.GA使用Jenkins进行持续集成,通过Maven的生命周期管理自动化构建和测试流程,保证了代码的质量。同时,它还采用JUnit和Mockito进行单元测试,通过集成TestNG实现更...
- 解决实际问题:如在 Spring MVC 中,通过 @InitBinder 解决了表单数据绑定到实体时的类型转换问题,例如将字符串转换为日期。 3. 采用的技术及遇到的问题: - Spring MVC:作为 MVC 框架,负责处理 web 请求和...
### springside3.3.4使用方法与SSH整合详解 #### 一、Springside简介 Springside项目是基于Spring框架的一个应用架构示例,它提供了一套完整的开发模式来构建企业级Java Web应用程序。Springside 3.3.4版本作为一...
《SpringSide框架详解:整合Spring、Hibernate与Struts2的高效解决方案》 SpringSide框架,作为一款基于Java的开源企业级应用开发框架,是开发者们为了简化开发流程、提高开发效率而精心设计的。它巧妙地融合了...
依赖注入是Spring框架的核心,它解决了对象之间的耦合问题,降低了代码的复杂度。在SpringSide3中,你会了解到如何通过XML配置或注解方式实现依赖注入,以及如何使用ApplicationContext管理bean。 三、面向切面编程...
SpringSide拥有活跃的社区,开发者可以在其中交流问题、分享经验,获取及时的技术支持和更新信息。社区的活跃度是SpringSide持续发展和改进的重要保障。 总结,SpringSide 4.1.0.GA作为一款成熟的Java开发框架,...
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
这个jar包不仅包含了springside-core-4.1.0.GA的主要功能,还兼容了springside-core-3.3.4.jar的某些特性,确保了向后兼容性,这对于维护旧项目的开发者来说是极为有益的。 Springside是一个轻量级的Java开发工具集...
《SpringSide 3.3 完整版:深入解析与实战指南》 SpringSide 是一个开源的Java项目,旨在提供一套简洁、规范的Spring应用开发模板,帮助开发者快速上手Spring框架。本版本,即“springside3.3”,是专为MyEclipse...