我使用CMIS制作了自定义Webapp,通过它我能够从alfresco的存储库中获取文档,并且还可以将文档从我的Web应用程序上传到alfresco的存储库中。但它不是检查用户身份验证,如果我尝试使用无法访问露天存储库的随机用户登录,他/她也可以登录。
我正在使用以下代码:
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;
}
任何建议将不胜感激!!
您正在从文件中读取用户名和密码config.properties
。您应该使用在Web应用程序中输入的用户名和密码进行更改。
代码中的以下行读取属性文件。
prop.load(getClass().getClassLoader().getResourceAsStream("config.properties"));
下面是从属性文件中读取用户名和密码。
parameter.put(SessionParameter.USER, prop.getProperty("USER"));
parameter.put(SessionParameter.PASSWORD,prop.getProperty("PASSWORD"));
取而代之的是,将您输入的Web应用程序的用户名和密码放在这里。