在应用权限控制时,可以在需要的时候写上自己的权限控制代码,这是可行的,不过总会产生大量的重复代码。DRY(Don't Repeat Yourself)不要写重复的代码,在调用目标方法之前或之后执行一些逻辑,这通常可以通过代理的方式来实现,Interceptor基于此。
实现一个登录验证的Interceptor:
struts.xml中的配置:
如果不想将authenticationStack作为默认的interceptor stack,可以重新定义一个package用于管理其它的action映射;或者直接在action映射中引用struts默认的interceptor stack。