`
Calf
  • 浏览: 1502 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类

讨论一下Spring MVC 中的 SimpleFormController 权限控制

阅读更多
用Spring2.5的 SimpleFormController 时,想在formBackingObject()函数里面设置一个权限控制,验证用户没有权限则跳转,但却发现SimpleFormController 中好像没有这么一个跳转功能。感觉这方面SimpleFormController 真是不是太好。
分享到:
评论
5 楼 wenxiang_tune 2009-05-16  
laiseeme 写道
权限这些 还是用拦截器吧

对的,支持用拦截器(Intercepter)
4 楼 Calf 2009-05-15  
laiseeme 写道
权限这些 还是用拦截器吧


用filter吗?
也给个例子参考下吧。
3 楼 laiseeme 2009-05-15  
权限这些 还是用拦截器吧
2 楼 Calf 2009-05-15  
大哥,能不能给个具体的例子看看?
1 楼 gty509 2009-05-01  
Calf 写道
用Spring2.5的 SimpleFormController 时,想在formBackingObject()函数里面设置一个权限控制,验证用户没有权限则跳转,但却发现SimpleFormController 中好像没有这么一个跳转功能。感觉这方面SimpleFormController 真是不是太好。


SimpleFormController实现了Controller中的handleRequest(request,response)方法,所有的流程都被隐藏起来了,只把formBackingObject,onsubmit少数方法暴露给你。如果你想在进入表单之前就做判断,你有几个选择:
1、Filter;
2、Interpret;
3、Aop,截住handleRequest方法;

我习惯第三种方法,给出下面代码供你参考:

@Aspect
public class Access{
@Around("execution(* YourSimpleFormController.handleRequest(..))")
public Object check(ProceedingJoinPoint thisJoinPoint) throws Throwable{
   Object[] args=thisJoinPoint.getArgs();
   HttpServletRequest request=(HttpServletRequest)args[0];
   HttpServletResponse response=(HttpServletResponse)args[1];
   /*对request中的数据判断用户的权限如果不成功response.setRedirect
     或者request.getRequestDispatcher.forward或者直接返回一个新的ModelAndView
     ex: return new ModelAndView("noright");
     
     如果用户有权限,你就运行thisJoinPoint.proceed();把控制权还给SimpleFormController.
   */
}
}

相关推荐

    Spring MVC控制器之SimpleFormController使用

    `SimpleFormController`是Spring MVC早期版本中用于处理表单数据的控制器类,它为开发者提供了一种简化表单处理的抽象。在Spring 3.0之后,`SimpleFormController`被标记为过时,取而代之的是基于注解的控制器和`@...

    Spring mvc(从入门到精通)

    在 Spring MVC 中,控制器是处理请求的核心组件。控制器可以继承 AbstractFormController 或 AbstractWizardFormController,以便处理用户输入表单。例如,LoginBankController 是一个继承自 SimpleFormController ...

    spring mvc 附件上传代码

    本文档将详细介绍如何在Spring MVC环境中配置并实现文件上传功能,包括必要的`web.xml`配置、Spring配置文件(如`upload-servlet.xml`)设置及控制器的具体编写。 #### 二、`web.xml`配置详解 `web.xml`文件用于...

    Spring MVC 例子

    本示例将深入探讨`SimpleFormController`和`MultiActionController`这两种控制器在Spring MVC中的应用。 首先,`SimpleFormController`是Spring MVC早期版本中提供的一个抽象控制器,主要用于处理表单提交。它内置...

    使用 Spring 2.5 基于注解驱动的 Spring MVC.doc

    总结一下,Spring 2.5 中基于注解的 Spring MVC 提供了一种更为简洁、灵活的编程模型,降低了配置的复杂度,提升了开发效率。`@Controller`、`@RequestMapping`、`@Autowired` 和 `@ModelAttribute` 等注解共同构成...

    spring mvc 文档

    SimpleFormController是Spring MVC早期版本中用于处理表单的控制器。尽管现在已经被废弃,但了解其基本用法仍然有助于理解Spring MVC的机制。 **示例代码**: ```java @Controller public class ...

    Spring—mvc实例

    此外,Spring MVC还支持多种类型的Controller,如Command Controller、SimpleFormController、Annotation-driven Controller等,每种都有其特定的应用场景和优势。学习Spring MVC,深入理解这些Controller的用法,将...

    spring mvc

    Spring MVC 是 Spring 框架的一部分,主要负责处理 Web 应用中的请求和响应。在 Spring 2.5 版本之后,Spring MVC 引入了注解驱动的功能,极大地简化了控制器(Controller)的配置和使用。本文将深入探讨 Spring MVC...

    外文翻译Spring的MVC构架模式

    Spring 的 Web MVC 构架模式是 Spring 框架中的一种重要部分,它提供了一个基于模型-视图-控制器(MVC)架构的 Web 应用程序开发模式。这种模式使得开发者可以更容易地开发和维护大型 Web 应用程序。 1. 介绍 ...

    Spring MVC与JAX-RS比较与分析

    去几年,REST逐渐成为影响Web框架、Web协议与Web应用设计的重要概念...更进一步,如果你手头有一个Spring MVC应用,使用了控制类继承(SimpleFormController等),你可能还意识不到现在的Spring MVC对REST广泛的支持。

    一个最简单的SimpleFormController使用

    在Spring MVC框架中,`SimpleFormController`是一个基础的控制器类,它简化了处理表单提交和模型数据绑定的过程。这个控制器是Spring MVC早期版本中的一个组件,现在已经被`@Controller`注解的类所取代,尽管如此,...

    spring_mvc注解入门

    在传统的Spring MVC中,Controller通常需要实现`org.springframework.web.servlet.mvc.Controller`接口,或者是继承`SimpleFormController`或`MultiActionController`。但是使用注解后,Controller不再需要继承任何...

    计算机外文翻译-Spring的web-MVC-构架模式.pdf

    - Spring MVC提供多种类型的控制器,如AbstractController、AbstractCommandController、MultiActionController、SimpleFormController等,帮助开发者处理不同复杂度的控制逻辑。 - 与Struts相比,Spring MVC允许...

    Spring Web MVC framework中英文对照.pdf

    Spring Web MVC框架是Spring框架中的一个重要组成部分,主要用于构建基于Java的应用程序中的Web层。该框架围绕一个核心组件`DispatcherServlet`进行设计,其主要职责是将HTTP请求分发到对应的控制器(Controller)上,...

    spring的使用方法

    Spring的Web MVC框架是一个强大的、可扩展的轻量级框架,用于构建Web应用程序的控制层。其设计核心是DispatcherServlet,它负责调度请求并分发到合适的处理器。DispatcherServlet与一系列组件协同工作,包括处理器...

    外文翻译-Spring的web-MVC-构架模式讲解学习.pdf

    - **WebWork(现在称为Struts2)**:Spring MVC与WebWork的主要区别在于对象角色的划分,Spring支持独立的控制器、命令对象和模型对象,而WebWork将这些角色集中在一个Action对象中。 4. **J2EE集成与容器无关性**...

    Spring的各种控制器

    本示例主要探讨了两种类型的控制器:SimpleController和MutiActionControl,它们在Spring MVC中扮演着不同的角色。 **SimpleController** SimpleController是Spring MVC早期版本中的一种基础控制器实现,它的名字...

    Spring学习笔记总结

    在Spring MVC中,控制器是核心组件,它负责处理用户的输入请求并将其分配给模型或视图。 Struts2和Hibernate的集成 Struts2是一个基于MVC模式的Web应用程序框架,它提供了一种简洁、灵活的方式来构建Web应用程序。...

    外文翻译-Spring的web MVC 构架模式.pdf

    Spring提供了多种控制器基类,如`AbstractController`、`AbstractCommandController`、`MultiActionController`、`SimpleFormController`和`AbstractWizardFormController`,以适应不同层次的控制需求。与Struts不同...

    spring3 mvc 注解action dao service 实例教程

    Spring 3 MVC 中引入的注解技术极大地简化了Web层的开发工作,尤其是`@Controller`、`@RequestMapping`等注解的应用,使得控制器的设计更为简洁和灵活。同时,针对DAO和服务层的注解支持也提高了整体架构的清晰度...

Global site tag (gtag.js) - Google Analytics