# HG changeset patch # User Zoe Hong # Date 1435667489 -7200 # Node ID ce2e3f2814c0919594b963b1e7bff75a49e8f72b # Parent 86694755415d1835c9100c95a5a47e1162fdeb36 new: check userGroup when login diff -r 86694755415d -r ce2e3f2814c0 src/main/java/de/mpiwg/gazetteer/dataverse/DataverseUtils.java --- a/src/main/java/de/mpiwg/gazetteer/dataverse/DataverseUtils.java Fri Jun 26 11:32:33 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/dataverse/DataverseUtils.java Tue Jun 30 14:31:29 2015 +0200 @@ -1,20 +1,13 @@ package de.mpiwg.gazetteer.dataverse; -import java.io.BufferedReader; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; + import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.HttpURLConnection; -import java.net.URL; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import org.json.JSONArray; +import org.json.JSONException; import org.json.JSONObject; import de.mpiwg.gazetteer.bo.LGBranch; @@ -22,7 +15,6 @@ import de.mpiwg.gazetteer.dataverse.bo.Study; import de.mpiwg.gazetteer.dataverse.bo.VDCUser; import de.mpiwg.gazetteer.utils.DataProvider; -import de.mpiwg.gazetteer.utils.FileManager; import de.mpiwg.gazetteer.utils.HTTPUtils; import de.mpiwg.gazetteer.utils.HTTPUtils.HttpStringResponse; import de.mpiwg.gazetteer.utils.PropertiesUtils; @@ -143,6 +135,7 @@ return "user-no-found ("+ id +")"; } + public static List getAllUsers() throws Exception{ List list = new ArrayList(); @@ -209,6 +202,32 @@ return null; } + public static boolean isUserInGroups(VDCUser user, List userGroups) { + // find user who named userName belongs in what groups. check if the user is in any of the groups in userGroup list + try { + JSONArray groupArray = user.getUserGroups(); + + for(int i=0; i getAllLGBranchFromDB(){ List list = null; - + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.getTransaction().begin(); Query query = session.createQuery("from LGBranch"); diff -r 86694755415d -r ce2e3f2814c0 src/main/java/de/mpiwg/gazetteer/utils/DataProvider.java --- a/src/main/java/de/mpiwg/gazetteer/utils/DataProvider.java Fri Jun 26 11:32:33 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/utils/DataProvider.java Tue Jun 30 14:31:29 2015 +0200 @@ -27,7 +27,6 @@ public DataProvider(){ logger.info("##### Starting DataProvider #####"); } - public LGFile getFile(Long fileId){ return getFileMap().getValuesByOwnKey(fileId); } diff -r 86694755415d -r ce2e3f2814c0 src/main/java/de/mpiwg/web/jsp/SessionBean.java --- a/src/main/java/de/mpiwg/web/jsp/SessionBean.java Fri Jun 26 11:32:33 2015 +0200 +++ b/src/main/java/de/mpiwg/web/jsp/SessionBean.java Tue Jun 30 14:31:29 2015 +0200 @@ -8,10 +8,8 @@ import org.apache.log4j.Logger; -import de.mpiwg.gazetteer.bo.LGBranch; import de.mpiwg.gazetteer.dataverse.DataverseUtils; import de.mpiwg.gazetteer.dataverse.bo.VDCUser; -import de.mpiwg.gazetteer.utils.DataProvider; public class SessionBean extends AbstractJSPPage { @@ -77,11 +75,27 @@ public void login(){ try { this.user = DataverseUtils.login(userName, password); - if(user != null){ - this.user.setPassword(this.password); - this.homePage.loadParameters(request, response); - this.homePage.reloadBranches(); + + if(this.user != null){ + + // check userGroups + List theUserGroups = new ArrayList(); + theUserGroups.add("mpiwg"); + theUserGroups.add("nuist"); + if (DataverseUtils.isUserInGroups(this.user, theUserGroups)){ + logger.debug("user's groups: " + user.getUserGroups()); + + this.user.setPassword(this.password); + this.homePage.loadParameters(request, response); + this.homePage.reloadBranches(); + + } else { + this.user = null; + + addMsg("Please contact/email us to activate your account!"); + } + // ----- }else{ addMsg("User account no found or userName and password do not match!"); } diff -r 86694755415d -r ce2e3f2814c0 src/main/webapp/pages/books.jsp --- a/src/main/webapp/pages/books.jsp Fri Jun 26 11:32:33 2015 +0200 +++ b/src/main/webapp/pages/books.jsp Tue Jun 30 14:31:29 2015 +0200 @@ -401,7 +401,7 @@ - +