ric*_*ver 7 spring annotations controller single-table-inheritance
我希望能够在我的Spring应用程序中创建一个基本控制器,除其他外,它确定用户是否是注册用户.遵循模板设计模式的此基本控制器将包含控制器子类将实现的抽象受保护方法.
抽象方法会将一个User实例传递给它,注册或以其他方式.但是,我不知道如何做到这一点,因为通过使用纯粹使用@Controller注释的控制器,每个控制器都可以自由地定义他们的请求处理方法.
是否会创建一种注入每个控制器并用于验证用户的某种用户服务类是解决此问题的一种方法?这引出了一个问题(至少对我而言)这样的控制器是如何获得HttpServletRequest或Session对象的?
谢谢.
Boz*_*zho 14
abstract BaseController
,没有注释@Controller
在需要时从子类(带注释)调用这些方法.我认为如果基本控制器唯一的代码是用于 UserAuthentication...而不是使用 Spring 安全性,那么它不是一个好主意。这是最好的选择。
或者,您可以使用这样的方法...看看 Spring 参考..
@Controller("loginController")
public class LoginController {
@RequestMapping(value="/login.do", method=RequestMethod.POST)
public String login(Model model, HttpServletRequest request) {
String userIdFromRequest = (String)request.getParameter("userId");
String password = (String)request.getParameter("password");
boolean verified = ...send userIdFromRequest and password to the user service for
verification...
if (verified){
request.getSession().setAttribute("userId", userIdFromRequest);
}
}
//More Methods
}
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
-SB
归档时间: |
|
查看次数: |
9605 次 |
最近记录: |