モジュール jp.ecuacion.splib.web

クラス SplibWebSecurityConfigForAdmin

java.lang.Object
jp.ecuacion.splib.web.config.SplibWebSecurityConfigForAdmin

public abstract class SplibWebSecurityConfigForAdmin extends Object
WebSecurityConfigのtemplate。 本templateが使用可能な能合と不可能な場合があるため、abstractクラスとし、EnableWebSecurity などの必要なannotationは子クラス側でつける形とする。

adminを使用する場合は本クラスを使用することになるが、その場合はSplibWebSecurityConfigも使用される前提とし、 かつそのinstanceより本instanceを先に実行する前提のため、Order(2) annotationをつけている。 Orderの一桁台は、/api/で使用することを想定し11としている。apiを使用しない状態で本クラスを使用しても問題はない。

  • フィールド詳細

  • コンストラクタの詳細

    • SplibWebSecurityConfigForAdmin

      public SplibWebSecurityConfigForAdmin()
  • メソッドの詳細

    • getDefaultSuccessUrl

      protected abstract String getDefaultSuccessUrl()
      ログイン成功時の遷移先を指定。
    • getUrlWithLoginNeededPageAccessed

      protected abstract String getUrlWithLoginNeededPageAccessed()
      ログインが必要なurlにアクセスした際の遷移先。login画面の場合と、それ以前の説明画面などの場合があるため個別設定可能とした。
    • getRoleInfo

      protected abstract List<AuthorizationBean> getRoleInfo()
      ADMIN_FULL_ACCESSは指定の全てのpathに対して権限追加される仕組みになるようケアしているので、 ADMIN_FULL_ACCESSのことは気にせずに、それ以外のroleの設定のみをすれば良い。
    • getAuthorityInfo

      protected abstract List<AuthorizationBean> getAuthorityInfo()
    • getAccessDeniedPage

      protected String getAccessDeniedPage()
      accessDeniedPageは、非ログイン時にpermitAllでないパスにアクセスした場合に加え、csrf tokenのエラーの場合も発生。 後者は、イコールpermitAllのpathにアクセスした場合に毎度発生することになるため、特にログインのないアプリでは設定変更が必要。 ただし、abstractにはせず任意での変更項目としておく。