spring mvc自定義註解--訪問時驗證

做用:在訪問controller的方法時,判斷用戶是不是登錄狀態。java

step1:定義註解spring

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface LoginRequired {

	public String loginUrl() default "";

}

step2:定義攔截器,繼承HandlerInterceptorAdapter抽象類,從新preHandle方法mvc

public class TicketInterceptor extends HandlerInterceptorAdapter {


    @Autowired
    private UserDetailMapper userDetailMapper;

    @Autowired
    private UserRoleService userRoleService;

    @Autowired
    private UserOrgMapper userOrgMapper;// add by cuiyan 20150604 用戶機構

    @Override
    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {
        LoginRequired loginRequired = MethodInterceptorUtils.getAnnotaion(
                handler, LoginRequired.class);
          //..........判斷邏輯
      
    }
}

 step3:springmvc的配置文件,攔截器app

<mvc:interceptors>
    <bean class="xxxx" /></mvc:interceptors>
相關文章
相關標籤/搜索