ホームページ >ウェブフロントエンド >jsチュートリアル >springmvc はアノテーションインターセプターを実装します
今回はアノテーションインターセプターを実装する springmvc について説明します。 springmvc がアノテーションインターセプターを実装するための 注意事項 は何ですか? 以下は実際的なケースです。
最近 SpringMvc でプロジェクトを書いていたときに、メソッドの認証の問題に遭遇しました。 1 日かけて解決したので、以下の解決策を見てみましょう。プロジェクト要件
:ユーザーログインでのみ実行できる操作など、認証が必要な場合は、ラベルを付けるだけで済みます。通常、メソッドを実行するときに最初にユーザーの身元を確認します。これにより、実質的に作業負荷が増加します。 Java アノテーションを使用すると、認証が必要なメソッドにラベルを付けるだけで済みます。 解決策:
1. まずアノテーションクラスを作成します:@Documented @Inherited @Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface Auth { boolean validate() default true; }2. 別のインターセプターを作成します:
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); //没有声明需要权限,或者声明不验证权限 if(authPassport==null){ return true; } else{ //在这里实现自己的权限验证逻辑 if(true){ //如果验证成功返回true(这里直接写false来模拟验证失败的处理) System.out.println("执行权限校验了"); return true; } else{ //如果验证失败 //返回到登录界面 // System.out.println("权限校验对了"); // response.sendRedirect("account/login"); return false; } } } else{ return true; } } }3. インターセプターを構成します: 次のコードを *-servlet.xml に追加する必要があります。
構成ファイル
をカスタマイズした場合は、定義した構成ファイルに直接それを置くこともできます<mvc:interceptors> <bean class="com.benxq.shop.user.interceptors.AuthInterceptor"/> </mvc:interceptors>。 注: デフォルトを RequestMappingHandlerMapping に変更し、RequestMappingHandlerAdapter の Bean を追加する必要があります Tomcat を再起動するだけです、 注意: メソッドに認証が必要な場合は、メソッドに @Auth をマークするだけで済みます。クラスのすべてのメソッドに認証が必要な場合は、クラスに @Auth をマークするだけです。 次に、メソッド インターセプターが静的リソースを一緒にインターセプトする必要があります。たとえば、次のようにします。適切なメソッドがある場合は、それを追加します。 752432995 と話し合ってください
<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>この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨書籍:
PHP で JSONAPI を使用する方法
以上がspringmvc はアノテーションインターセプターを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。