深入理解Spring MVC框架
发布时间
阅读量:
阅读量
一、实现安全管控
基于手写mvc框架(目前仅实现了请求分发及自定义spring框架功能),设计并定义了@Security注解,该注解包含value属性,用于接收字符串数组。此注解可应用于Controller类或Handler方法之上,以实现对系统安全性的控制与管理。
一、思路
对@Security注解进行定义,将其应用于Controller类时,意味着该类中所有Handler方法均需接受安全控制;当其应用于Handler方法时,则表示该特定方法需要实施安全检查。在实现过程中,共考虑了四种途径:
- 参照自定义Spring框架中实现transactional的机制,可通过代理方式实现,即一旦检测到Controller类被标注了@Security注解,即可生成动态代理,在代理类内部执行安全验证操作;
- 采用过滤器Filter的方式,但此方式仅能拦截请求本身,并无法精确到具体的方法层面;
- 使用拦截器Interceptor,这种方式显然需要我们自行借助AOP(动态代理)技术加以实现;
- 在映射Handler的过程中,系统已保存了相关映射关系,因此也可以采用类似处理方式,在此创建一个请求与安全控制之间的对应关系表,并在servlet的doPost方法中添加相应的处理逻辑,这种方式较为简便且高效。
二、代码
在初始化hand
全部评论 (0)
还没有任何评论哟~
