TokiNoviceProgrammer / mrs-for-spring-boot

0 stars 0 forks source link

ipアドレスでのアクセス #41

Closed TokiNoviceProgrammer closed 4 hours ago

TokiNoviceProgrammer commented 2 days ago
@Component
public class IpBasedSessionInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        // セッションを取得(既存のセッションがない場合はnull)
        HttpSession session = request.getSession(false);

        // セッションが未設定の場合に新しいセッションを作成
        if (session == null) {
            request.getSession(true); // 新しいセッションを作成
        }

        return true;
    }
}
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    private final IpBasedSessionInterceptor ipBasedSessionInterceptor;

    // コンストラクタインジェクション
    public WebMvcConfig(IpBasedSessionInterceptor ipBasedSessionInterceptor) {
        this.ipBasedSessionInterceptor = ipBasedSessionInterceptor;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(ipBasedSessionInterceptor).addPathPatterns("/**");
    }
}

以下の理由でSecure属性をfalseにする必要もある。 https://github.com/TokiNoviceProgrammer/mrs-for-spring-boot/issues/42