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

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 参考手册中文版

    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 Security基于json登录实现过程详解

    主要介绍了Spring Security基于json登录实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    ajax调用java实例源码-spring-security-ajax:验证SpringSecurity是否适用于完整的AJAX库,例如Emb

    Security 来保护 AJAX 环境中的应用程序资源。 2. 概述 是一个开源项目,展示了各种基于 JavaScript 的 MVC 框架的功能。 它提供了一个单页应用程序,允许用户管理任务列表(待办事项)。 此示例应用程序提供了 Todo...

    angular_bootstrap_spring:AngularJS,Restful,Spring,Spring Security,Hibernate,Bootstrap,Gulp in ES6,Maven

    (仅限已部署的文物)吞咽: 用作客户端的构建工具,已使用ES6编写Spring4: 用于创建RESTful控制器接口,然后通过ajax请求调用该接口。Spring Security 4: 用于无状态api,该API允许通过基本身份验证或令牌身份...

    spring-rest-security

    angular_bootstrap_spring 带有 Bootstrap 和 Spring 4 以及 Spring Security 的 Angular JS 此示例是一个 Angular js 单页应用程序 (SPA),带有用于小部件和样式的引导程序。 Spring 4:用于创建 RESTful 控制器...

    spring web flow demo

    本教程分析了 Spring Web Flow 2.0 的技术要点,并且通过创建一个示例应用程序,展示了 Spring Web Flow 2.0 的基本知识。 开始之前 关于本教程 本教程通过一个简化的购物车应用,介绍了如何使用 Spring Web Flow ...

    JavaEE-pet-project

    Spring冬眠宠物项目社交网络应用该示例旨在演示可能的基于Spring的简单简单Java Webapp。 在这里,我们遍历了应用程序的全部内容。 这包括: Maven用于依赖性管理。 Spring IoC,Spring Security,SpringMVC。 MySQL...

    JAVA上百实例源码以及开源项目

     各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java源码,网络相关,UDP  基于JAVA的UDP服务器模型源代码...

    asp.net知识库

    ASP.NET 2.0 Security FAQs Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0 WebPart使用经验点滴 革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET ...

    java开源包1

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包11

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包2

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包3

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包6

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包5

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包10

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包4

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包8

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包7

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包9

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

Global site tag (gtag.js) - Google Analytics