2014-07-21 71 views
0

我正在研究一個小的Java EE項目,它將加入一個更大的項目。主要項目是使用maven和spring框架設計的。我不這樣做,因爲它確實是一個基本的。從spring項目到非彈簧項目的會話「user_id」

這裏是我的問題:

主要項目使用公司的Active Directory和存儲到春天已經登錄的用戶。代碼如下所示:

@Configuration 
@EnableWebMvcSecurity 
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { 

    private final String URL = "blablablabla"; 
    private final int PORT = 389; 
    private final String MANAGER_DN = "CN=blablablabla,OU=blablablabla,OU=blablablabla,OU=blablablabla,OU=blablablablaFund,OU=EBS,DC=blablablabla,DC=blablablabla,DC=blablablabla"; 
    private final String MANAGER_PASSWORD = "blablablabla"; 
    private final String GROUP_BASE = "OU=blablablabla,OU=blablablabla,OU=blablablabla,OU=blablablabla,DC=blablablabla,DC=blablablabla,DC=blablablabla"; 
    private final String USER_SEARCH_BASE = "DC=blablablabla,DC=blablablabla,DC=blablablabla"; 
    private final String USER_SEARCH_FILTER = "(sAMAccountName={0})"; 
    private final String GROUP_ROLE_ATTR = "blablablabla"; 
    private final String GROUP_SEARCH_FILTER = "(member={0})"; 
    private final String ROLE_LDIG_ALPHA = "blablablabla"; 

    @Override 
    @Autowired 
    protected void configure(AuthenticationManagerBuilder authManagerBuilder) throws Exception { 
     authManagerBuilder 
      .ldapAuthentication() 
       .userSearchBase(USER_SEARCH_BASE) 
       .userSearchFilter(USER_SEARCH_FILTER) 
       .groupRoleAttribute(GROUP_ROLE_ATTR) 
       .groupSearchFilter(GROUP_SEARCH_FILTER) 
       .groupSearchBase(GROUP_BASE) 
       .contextSource().url(URL).port(PORT).managerDn(MANAGER_DN).managerPassword(MANAGER_PASSWORD); 
    } 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .authorizeRequests() 
       .antMatchers("/**").hasRole(ROLE_LDIG_ALPHA) 
       .anyRequest().authenticated() 
       .and() 
      .formLogin() 
      .and() 
      .httpBasic(); 
    } 
} 

現在我需要從我的servlet例如檢索用戶的會話信息,而無需再次讓用戶日誌(我再說一遍:我不使用Spring框架)

是這樣可能?

回答

0

一個簡單的實現是在認證處理項目中創建一個cookie並在其中存儲相關的非敏感信息,然後在另一個項目中讀取該cookie。

另一個實現是使用jndi來註冊你的對象然後在其他需要的地方讀取。