वसंत सत्र के साथ (यह पारदर्शी रूप से जावा ईई से एचटीपीएसएशन को ओवरराइड करेगा) आप केवल SessionRepository
इंटरफ़ेस ले सकते हैं और इसे अपने कस्टम पूर्व के साथ कार्यान्वित कर सकते हैं। JdbcSessionRepository
। यह करना आसान है। आप अपने कार्यान्वयन है, तो बस मैन्युअल रूप से जोड़ने (आप @EnableRedisHttpSession
एनोटेशन जरूरत नहीं है) श्रृंखला फिल्टर करने के लिए, bellow तरह फिल्टर बनाया:
@Configuration
@EnableWebMvcSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
//other stuff...
@Autowired
private SessionRepository<ExpiringSession> sessionRepository;
private HttpSessionStrategy httpSessionStrategy = new CookieHttpSessionStrategy(); // or HeaderHttpSessionStrategy
@Bean
public SessionRepository<ExpiringSession> sessionRepository() {
return new JdbcSessionRepository();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
SessionRepositoryFilter<ExpiringSession> sessionRepositoryFilter = new SessionRepositoryFilter<>(sessionRepository);
sessionRepositoryFilter.setHttpSessionStrategy(httpSessionStrategy);
http
.addFilterBefore(sessionRepositoryFilter, ChannelProcessingFilter.class);
}
}
यहाँ आप कैसे SessionRepository
इंटरफ़ेस की तरह लग रहा है। इसे लागू करने के लिए केवल 4 तरीके हैं। सत्र ऑब्जेक्ट बनाने के तरीके के लिए, आप MapSessionRepository
और MapSession
कार्यान्वयन (या RedisOperationsSessionRepository
और RedisSession
) देख सकते हैं।
public interface SessionRepository<S extends Session> {
S createSession();
void save(S session);
S getSession(String id);
void delete(String id);
}
उदाहरण समाधान https://github.com/Mati20041/spring-session-jpa-repository
की संभावित डुप्लिकेट: http://stackoverflow.com/questions/20507749/how-can-i-make-the-spring-security-stores-the-http-session -इन-डेटाबेस-so-i-can – bphilipnyc