Advertisement

深入理解Spring MVC框架

阅读量:

一、实现安全管控

基于手写mvc框架(目前仅实现了请求分发及自定义spring框架功能),设计并定义了@Security注解,该注解包含value属性,用于接收字符串数组。此注解可应用于Controller类或Handler方法之上,以实现对系统安全性的控制与管理。

一、思路

对@Security注解进行定义,将其应用于Controller类时,意味着该类中所有Handler方法均需接受安全控制;当其应用于Handler方法时,则表示该特定方法需要实施安全检查。在实现过程中,共考虑了四种途径:

  1. 参照自定义Spring框架中实现transactional的机制,可通过代理方式实现,即一旦检测到Controller类被标注了@Security注解,即可生成动态代理,在代理类内部执行安全验证操作;
  2. 采用过滤器Filter的方式,但此方式仅能拦截请求本身,并无法精确到具体的方法层面;
  3. 使用拦截器Interceptor,这种方式显然需要我们自行借助AOP(动态代理)技术加以实现;
  4. 在映射Handler的过程中,系统已保存了相关映射关系,因此也可以采用类似处理方式,在此创建一个请求与安全控制之间的对应关系表,并在servlet的doPost方法中添加相应的处理逻辑,这种方式较为简便且高效。

二、代码

在初始化hand

全部评论 (0)

还没有任何评论哟~