`
usherlight
  • 浏览: 31340 次
文章分类
社区版块
存档分类
最新评论

spring security ajax示例

阅读更多
a. applicationContext-security.xml
		<form-login login-page="/login" default-target-url="/frames"
			login-processing-url="/securitycheck" always-use-default-target="true" />
		<session-management invalid-session-url="/logintimeout" />


b. index.ftl -- freemarker template

<#macro msg key> ${rc.getMessage(key)} </#macro>
		<script src="${rc.getContextPath()}/static/scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
		<script src="${rc.getContextPath()}/static/scripts/jquery.easyui.min.js" type="text/javascript"></script>
		<script src="${rc.getContextPath()}/static/scripts/jquery.validate.min.js" type="text/javascript"></script>

				<form id="loginForm" action="${rc.getContextPath()}/securitycheck" method="post">
					<table align="center" style="border-spacing: 5px">
						<tr>
							<td colspan="2" style="color:#FF0000" align="left">
								<#if errors><@msg key="page.login.fail"/></#if>
							</td>
						</tr>
						<tr>
							<td align="right"><@msg key="page.login.label.username"/>:</td>
							<td><input type='text' name='j_username' class="required" /></td>
						</tr>
						<tr>
							<td align="right"><@msg key="page.login.label.password"/>:</td>
							<td><input type='password' name='j_password' class="required" /></td>
						</tr>
						<tr style="display:none">
							<td><input type="checkbox" name="_spring_security_remember_me" />
							</td>
							<td>Remember me for 2 weeks</td>
						</tr>
						<tr>
							<td colspan='2' align="right"><input value='<@msg key="page.login.button.submit"/>' type="submit" class="btnorange" /></td>
						</tr>
					</table>
				</form>


	<script>
		$('#loginForm').form({  
		    onSubmit: function(){  
		        var valid = $('#loginForm').valid();
		        if ( ! valid ) {
			        // return false to prevent submit;
		        	return false;
		        }
		        return true;  
		    },  
		    success:function(data){
		    	if ( data == null || data.length < 2 ) {
		    	} else {
	    			$.get('${rc.getContextPath()}/frames', function(data) {
	    				$('body').empty().html(data).find('.easyui-layout').layout();
	    			});
		    	}
		    }  
		});
	</script>


c. LoginController.java

	@RequestMapping("/login")
	public String index(Model model, HttpServletRequest request, HttpServletResponse response) {
		AuthenticationException ae = (AuthenticationException) request.getSession().getAttribute(AUTHENTICATION_EXCEPTION);
		model.addAttribute("errors", false);
		if (ae != null) {
			model.addAttribute("errors", true);
		}
		return "/index";
	}

	@RequestMapping("/frames")
	public String frames(Model model, HttpServletRequest request) {
		logger.trace("redirect to page frames.");
		String userName = SpringSecurityContext.getUsername();
		model.addAttribute("name", userName);
		SecUser user = userManager.getUserByName(userName);
		if (user != null) {
			WebUtils.setSessionAttribute(request, GlobalConstant.SESSION_USER, user);
		}
		return "/frames";
	}
分享到:
评论

相关推荐

    spring security ajax请求与html共存

    当Ajax请求被拒绝时,Spring Security默认会重定向到一个错误页面,但这对Ajax请求并不适用。因此,我们需要提供一个错误处理器,将错误信息作为JSON或其他适合Ajax响应的格式返回。 5. **HTML与Ajax共存** 在...

    spring security 数据库存储资源信息 记住我 支持AJAX

    在提供的压缩包文件"springsecurity_database"中,可能包含了示例代码、配置文件和其他相关资源,可以帮助你理解和实现上述功能。在实际项目中,你需要根据自己的需求调整和扩展这些示例,以构建一个符合业务场景的...

    springsecurity3.0.5应用

    6. **CSRF防护**:为防止跨站请求伪造(Cross-Site Request Forgery)攻击,Spring Security提供了内置的CSRF保护,可以通过添加特定的token到表单或Ajax请求中来验证请求的合法性。 7. **AOP(面向切面编程)**:...

    springsecurity前端素材.zip

    在本“springsecurity前端素材”中,我们有两个主要的文件夹:templates和static,它们分别代表了前端展示层的不同方面。 **templates** 文件夹通常包含了应用的HTML模板文件,这些文件被用于构建用户界面。在...

    Spring Security权限管理开发手册

    ### Spring Security权限管理开发手册知识点概述 #### 一、序言 - **为什么选择Spring Security:** - **安全性:** 提供了强大的安全性保障,包括认证(Authentication)、授权(Authorization)以及会话管理(Session...

    spring security 参考手册中文版

    Spring Security 参考 1 第一部分前言 15 1.入门 16 2.介绍 17 2.1什么是Spring Security? 17 2.2历史 19 2.3版本编号 20 2.4获得Spring安全 21 2.4.1使用Maven 21 Maven仓库 21 Spring框架 22 2.4.2 Gradle 23 ...

    Spring Security3技术手册

    - **示例代码**: 在`web.xml`中配置`&lt;filter&gt;`和`&lt;filter-mapping&gt;`,定义Spring Security的入口。 - **1.2 使用命名空间** - Spring Security支持在`spring-security.xml`配置文件中使用特定的命名空间简化配置...

    Ajax登陆使用Spring Security缓存跳转到登陆前的链接

    关于使用Ajax进行登录并使用Spring Security缓存跳转回登录前的URL的实现方法,主要涉及的IT知识点如下: 1. **Ajax的定义与作用** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下...

    Struts2+Spring+Ajax实现的用户登录

    此外,Spring的安全模块(如Spring Security)也可以用来实现用户认证和授权,防止未授权的访问。 **Ajax** (Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下更新部分网页的技术,通过...

    springboot+ajax示例

    在"springboot+ajax示例"中,你可能会看到以下关键知识点: 1. **SpringBoot配置**:包括创建`@SpringBootApplication`注解的主类,配置数据源,定义RESTful API接口等。例如,你可能有一个`@RestController`注解的...

    spring security CSRF防护的示例代码

    Spring Security CSRF 防护机制详解 CSRF(Cross-site request forgery),即跨站请求伪造,是一种常见的 Web 攻击。Spring Security 4.0 及更高版本默认启用 CSRF 防护,以防止 CSRF 攻击应用程序。下面是 Spring ...

    spring security

    ### Spring Security 安全权限管理手册知识点概览 #### 一、Spring Security 概述 - **Spring Security** 是一个强大的、高度可定制的身份验证和访问控制框架。 - 它可以保护任何应用——从简单的应用到复杂的多层...

    spring mvc 完整示例 前台+后台

    Spring Security是一个可选的组件,可以提供这些安全功能,但在这个简单的示例中可能并未涉及。 总结,"spring mvc 完整示例 前台+后台"项目展示了如何使用Spring MVC和jQuery构建一个基本的Web应用,实现了用户...

    spring security2 安全手册(牛人写的)

    - **运行示例**:提供一个可以运行的示例代码,帮助读者理解Spring Security的基本工作原理。 #### 2. 使用数据库管理用户权限 - **修改配置文件**:讲解如何调整Spring Security的配置以支持从数据库中读取用户...

    Spring boog 项目示例

    然后,你可以使用 Spring Security 或者 Spring Social 这样的库来处理授权流程。用户通过点击 QQ 登录按钮,会被重定向到 QQ 授权页面,授权成功后,QQ 将回调你的服务器,传递 access_token,你的服务端通过这个 ...

    SpringBootAjax:前端的Spring Boot Ajax示例

    同时,安全性是不可忽视的,Spring Security可以用来保护你的Ajax接口免受非法访问。 总结起来,"SpringBootAjax"项目展示了如何利用Spring Boot的RESTful API和Ajax技术实现实时、无刷新的前后端通信。这涉及到...

    Spring Security基于json登录实现过程详解

    本文详细介绍了使用Spring Security实现JSON登录的过程,并提供了示例代码。 首先,想要实现JSON登录,你需要对Spring Security的认证流程有所了解。认证流程开始于用户提交用户名和密码,通过过滤器(如...

    基于 SpringBoot、Spring Security、JWT 的前后端分离权限管理系统.zip

    这是一个基于 Spring Boot、Spring Security 和 JWT 技术栈构建的前后端分离的权限管理系统。Spring Boot 是一个快速开发框架,它简化了 Spring 应用的初始搭建以及开发过程,提供了自动配置、起步依赖、内嵌服务器...

Global site tag (gtag.js) - Google Analytics