SpringSessionのStrategy戦略方式(簡略、補足待ち)

1227 ワード

SessionRepositoryの役割:セッションが確立されると、Sessionが作成され、ユーザーIDなどのユーザー情報がSessionに保存され、SessionRepositoryによってSessionが永続化されます.
HeaderHttpSessionStrategyの役割:HTTPリクエストヘッダにセッションIdを設定し、リクエストヘッダからセッションIdを取得します.ただし、プロジェクトがこの方式を使用する場合、sessionidはクッキーに設定されないため、ログインインタフェースを呼び出すと、そのユーザは本当にログインに成功せず、UserModel userModel = (UserModel) SecurityContextHolder.getContext().getAuthentication().getPrincipal();というコードを実行すると401エラーを報告し、そのユーザがログインしていないことを説明する権限がない
   @Bean
   public HttpSessionStrategy httpSessionStrategy() {

       HeaderHttpSessionStrategy httpSessionStrategy = new HeaderHttpSessionStrategy();
       if (headerName == null)
           headerName = "Session";
       httpSessionStrategy.setHeaderName(headerName);
       return httpSessionStrategy;

   }

CookieHttpSessionStrategyの役割:sessionIdをcookieによって伝達することを提供する.クッキーパラメータ名デフォルトはSESSION
   @Bean
   public HttpSessionStrategy httpSessionStrategy() {

       CookieHttpSessionStrategy httpSessionStrategy = new CookieHttpSessionStrategy();
       if (cookieName == null)
           cookieName = "Session";
       httpSessionStrategy.setCookieName(cookieName);
       return httpSessionStrategy;
   }