2016-03-19 15 views
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は次のように定義されています。

答えて

0

@EnableAspectJAutoProxyを@configurationクラスに追加しましたか? @scopeアノテーションでは、あなたのプロジェクトでspring aopがアクティブになっている必要があります

+0

私はこれを追加しませんでしたが、私はそれを追加してもパラメータは同じ値を保持します –

関連する問題