Project

General

Profile

« Previous | Next » 

Revision 9534

Added by Chris Jones about 8 years ago

Also handle authentication tokens when uploading data (action=upload) by using Ben's RequestUtil.getSessionData() changes.

refs https://github.nceas.ucsb.edu/KNB/arctic-data/issues/43

View differences:

MetacatHandler.java
113 113
import edu.ucsb.nceas.metacat.util.DocumentUtil;
114 114
import edu.ucsb.nceas.metacat.util.MetacatUtil;
115 115
import edu.ucsb.nceas.metacat.util.RequestUtil;
116
import edu.ucsb.nceas.metacat.util.SessionData;
116 117
import edu.ucsb.nceas.metacat.util.SystemUtil;
117 118
import edu.ucsb.nceas.utilities.FileUtil;
118 119
import edu.ucsb.nceas.utilities.LSIDUtil;
......
2966 2967
        }
2967 2968
        
2968 2969
        // Get the session information
2969
        String username = null;
2970
        String username = "public";
2970 2971
        String password = null;
2971 2972
        String[] groupnames = null;
2972 2973
        String sess_id = null;
2973 2974
        
2974 2975
        // be aware of session expiration on every request
2975
        HttpSession sess = request.getSession(true);
2976
        if (sess.isNew()) {
2977
            // session expired or has not been stored b/w user requests
2978
            username = "public";
2979
            sess.setAttribute("username", username);
2980
        } else {
2981
            username = (String) sess.getAttribute("username");
2982
            password = (String) sess.getAttribute("password");
2983
            groupnames = (String[]) sess.getAttribute("groupnames");
2984
            try {
2985
                sess_id = (String) sess.getId();
2986
            } catch (IllegalStateException ise) {
2987
                System.out
2988
                        .println("error in  handleMultipartForm: this shouldn't "
2989
                        + "happen: the session should be valid: "
2990
                        + ise.getMessage());
2991
            }
2992
        }
2993
        
2976
		SessionData sessionData = RequestUtil.getSessionData(request);
2977
		
2978
		if (sessionData != null) {
2979
			username = sessionData.getUserName();
2980
			password = sessionData.getPassword();
2981
			groupnames = sessionData.getGroupNames();
2982
			sess_id = sessionData.getId();
2983
		}
2984
                
2994 2985
        // Get the out stream
2995 2986
        try {
2996 2987
            out = response.getWriter();

Also available in: Unified diff