2015-06-10 55 views
0

我使用CMIS製作了自定義webapp,通過它可以從露天存儲庫獲取文檔,並且還能夠將文檔從webapp上傳到露天存儲庫。但是,如果我嘗試使用無法訪問露天存儲庫的隨機用戶登錄,他/她也可以登錄,但它不檢查用戶身份驗證。如何檢查用戶在戶外使用CMIS在自定義應用程序中登錄的身份驗證?

我使用下面的代碼:

public Session getSession() { 

    Properties prop = new Properties(); 

    try { 



     prop.load(getClass().getClassLoader().getResourceAsStream("config.properties")); 

     ALFRSCO_ATOMPUB_URL = "http://" + prop.getProperty("url") + ":" 
       + prop.getProperty("port") + "/alfresco/service/cmis"; 

     System.out.println(ALFRSCO_ATOMPUB_URL); 
     parameter.put(SessionParameter.USER, prop.getProperty("USER")); 

     parameter.put(SessionParameter.PASSWORD, 
       prop.getProperty("PASSWORD")); 

     // Specify the connection settings 

     parameter.put(SessionParameter.ATOMPUB_URL, ALFRSCO_ATOMPUB_URL); 

     parameter.put(SessionParameter.BINDING_TYPE, 
       BindingType.ATOMPUB.value()); 

     parameter.put(SessionParameter.REPOSITORY_ID, 
       prop.getProperty("REPOSITORY_ID")); 

     SessionFactory factory = SessionFactoryImpl.newInstance(); 

     session = factory.getRepositories(parameter).get(0).createSession(); 

     return session; 
    } catch (CmisUnauthorizedException ex) { 

     System.out.println("you are unauthorized "); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
    return session; 
} 
    public boolean validateUser() { 
    Session session = getSession(); 
    System.out.println("session " + session); 
    if (session != null) { 
     FolderBean.cmisSession = session; 
     return true; 
    } 
    return false; 
} 

任何意見,將不勝感激!

+0

可以請您分享驗證碼嗎? –

+0

我已經編寫了上述代碼,僅用於身份驗證。即validateUser()方法 – nainika

+0

getSession()函數在哪裏?只有這個代碼我不認爲你可以進行身份​​驗證。在某處應該有用戶名密碼。你不這麼認爲嗎? –

回答

0

您正在閱讀config.properties文件的用戶名和密碼。您應該使用在您的Web應用程序中輸入的用戶名和密碼進行更改。

在代碼的下面一行讀取屬性文件。

prop.load(getClass().getClassLoader().getResourceAsStream("config.properties")); 

下面是從屬性文件中讀取用戶名和密碼。

parameter.put(SessionParameter.USER, prop.getProperty("USER")); 
parameter.put(SessionParameter.PASSWORD,prop.getProperty("PASSWORD")); 

而不是那裏把你輸入的webapp的用戶名和密碼。

相關問題