0
私のプロジェクトは実際にspring + gradle + thymeleafシステムを使用しています。私はを知りたいと思います。別のユーザーとログインするとBeanを起動する方法は?
は私がscope sessionの使い方は?
public class UserData{
List<Questions> questions;
String message;
}
//in my @Configuration class
@Bean
@Scope(proxyMode=ScopedProxyMode.TARGET_CLASS, value="session")
@ScopedProxy
public AdminData adminData(){
return new AdminData();
}
In my controller, I inject AdminData
@Controller
@RequestMapping(value = "/admin/question")
public class QuestionAdminController {
@Autowired
private UserData userData;
}
を試してみました。しかし、それは動作しません、Beanが初期化されていません。
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable(); // temporary disabled for testing file upload
http.headers().frameOptions().disable(); // disabled for h2 console
// Roles permissions
http.authorizeRequests()
// Directories access permissions
.antMatchers("/admin/**").access("hasRole('ADMIN')")
// All user can access to new routes at the root
.antMatchers("/**").permitAll()
// Other requests need the login
.anyRequest().authenticated()
// Configure the login page
.and().formLogin().loginPage("/login")
.successHandler(customSuccessHandler).permitAll()
// Default logout from Spring Security
.and().logout().permitAll()
.and()
.sessionManagement()
.maximumSessions(1).expiredUrl("/login?expired");
}
私はここでセッションが期限切れ後にログアウトされることはよく分からない:
私WebSecurityConfigurerAdapterは次のように定義されています。
私はこれを追加しませんでしたが、私はそれを追加してもパラメータは同じ値を保持します –