国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - springmvc用于方法鑒權(quán)的注解攔截器的解決方案代碼

springmvc用于方法鑒權(quán)的注解攔截器的解決方案代碼

2021-03-10 14:52老瞿 Java教程

這篇文章主要介紹了springmvc用于方法鑒權(quán)的注解攔截器的解決方案代碼,具有一定借鑒價值,需要的朋友可以參考下。

最近在用SpringMvc寫項目的時候,遇到一個問題,就是方法的鑒權(quán)問題,這個問題弄了一天了終于解決了,下面看下解決方法

項目需求:需要鑒權(quán)的地方,我只需要打個標(biāo)簽即可,比如只有用戶登錄才可以進(jìn)行的操作,一般情況下我們會在執(zhí)行方法時先對用戶的身份進(jìn)項校驗,這樣無形中增加了非常大的工作量,重復(fù)造輪子,有了java注解只需要在需要鑒權(quán)的方法上面打個標(biāo)簽即可:

springmvc用于方法鑒權(quán)的注解攔截器的解決方案代碼

解決方案:

  1、首先創(chuàng)建一個注解類:

?
1
2
3
4
5
6
7
@Documented
@Inherited
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Auth {
  boolean validate() default true;
}

2、再創(chuàng)建一個攔截器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class AuthInterceptor extends BaseInterceptor{
    @Override
      public Boolean preHandle(HttpServletRequest request,
          HttpServletResponse response, Object handler) throws Exception {
        if(handler.getClass().isAssignableFrom(HandlerMethod.class)){
            Auth authPassport = ((HandlerMethod) handler).getMethodAnnotation(Auth.class);
            //沒有聲明需要權(quán)限,或者聲明不驗證權(quán)限
            if(authPassport==null){
                return true;
            } else{
                //在這里實現(xiàn)自己的權(quán)限驗證邏輯
                if(true){
                    //如果驗證成功返回true(這里直接寫false來模擬驗證失敗的處理)
                    System.out.println("執(zhí)行權(quán)限校驗了");
                    return true;
                } else{
                    //如果驗證失敗
                    //返回到登錄界面
                    //          System.out.println("權(quán)限校驗對了");
                    //          response.sendRedirect("account/login");
                    return false;
                }
            }
        } else{
            return true;
        }
    }
}

3、配置攔截器:需要在*-servlet.xml里面增加以下代碼,如果您自定義了配置文件也可直接放到您定義的配置文件中

?
1
2
3
<mvc:interceptors>
    <bean class="com.benxq.shop.user.interceptors.AuthInterceptor"/>
</mvc:interceptors>

注意:需要將默認(rèn)的改為RequestMappingHandlerMapping,增加RequestMappingHandlerAdapter的bean

重新啟動tomcat即可,

溫馨提示:如果對方法需要鑒權(quán)只需要在方法上面打上@Auth,如果對類的所有方法需要鑒權(quán),只需要在類上面打上@Auth即可。

那么問題來了,方法攔截器會吧靜態(tài)資源一塊攔截,我們需要在tomcat中進(jìn)行對靜態(tài)文件進(jìn)行攔截如:我的解決方法是在web.xml進(jìn)行配置,大家有好的方法也可以加我扣扣752432995一塊探討

?
1
2
3
4
5
6
7
8
<servlet-mapping>
   <servlet-name>default</servlet-name>
   <url-pattern>*.jpg</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
   <servlet-name>default</servlet-name>
   <url-pattern>*.png</url-pattern>
 </servlet-mapping>

總結(jié)

以上就是本文關(guān)于springmvc用于方法鑒權(quán)的注解攔截器的解決方案代碼的全部內(nèi)容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://www.cnblogs.com/quchengfeng/p/4685919.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久小视频| 欧美中文字幕一区二区三区亚洲 | 精品久久久久香蕉网 | 欧美国产精品一区二区三区 | 久久黄网站 | 日韩精品一区二区三区在线 | 国产精品久久精品 | 免费av在线 | 91精品国产综合久久久久久 | 三级成人在线 | 91污视频| 激情国产 | 澳门黄色网 | 午夜视频在线 | 精品国产一区二区三区在线观看 | 成人av在线网| 91免费视频 | 国产精品午夜电影 | 日日摸夜夜 | 欧美亚洲视频在线观看 | 黑人av| 欧美在线免费 | 午夜精品久久久久久 | 国产欧美一区二区视频 | 精品在线观看一区 | 美女视频黄8频a美女大全 | 欧美性猛交xxxx黑人猛交 | 欧美一区二区大片 | 精品一区二区三区中文字幕 | 伊人久久综合精品一区二区三区 | 久久噜噜噜精品国产亚洲综合 | 欧美视频三区 | 亚洲国产精品视频一区二区三区 | 国产日韩一级片 | 日韩一区二区三区四区 | 午夜精品久久久久久久久 | 中文字幕日韩一区二区不卡 | 成人免费一区二区三区视频软件 | 久久精品国产清自在天天线 | 色中色av| 欧美1区2区3区 |