59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package com.wasteinformationserver.website.datarequests.login;
 | 
						|
 | 
						|
import com.wasteinformationserver.basicutils.Log;
 | 
						|
import com.wasteinformationserver.db.JDCB;
 | 
						|
import com.wasteinformationserver.website.HttpTools;
 | 
						|
import com.wasteinformationserver.website.basicrequest.PostRequest;
 | 
						|
 | 
						|
import java.io.IOException;
 | 
						|
import java.sql.ResultSet;
 | 
						|
import java.sql.SQLException;
 | 
						|
import java.util.HashMap;
 | 
						|
 | 
						|
public class LoginRequest extends PostRequest {
 | 
						|
    @Override
 | 
						|
    public String request(HashMap<String, String> params) {
 | 
						|
 | 
						|
        Log.message("new login request");
 | 
						|
 | 
						|
        String password = params.get("password");
 | 
						|
        String username = params.get("username");
 | 
						|
 | 
						|
        JDCB jdcb;
 | 
						|
        try {
 | 
						|
            jdcb = JDCB.getInstance();
 | 
						|
        } catch (IOException e) {
 | 
						|
            Log.error("no connection to db");
 | 
						|
            return "{\"status\" : \"nodbconn\"}";
 | 
						|
        }
 | 
						|
 | 
						|
        ResultSet s = jdcb.executeQuery("select * from user where username ='" + username + "'");;
 | 
						|
        //new JDCB("users", "kOpaIJUjkgb9ur6S", "wasteinformation").executeQuery("select * from user where username ='" + username + "'");
 | 
						|
        Log.debug("successfully logged in to db");
 | 
						|
        String response = "{\"accept\": false}";
 | 
						|
        try {
 | 
						|
            s.last();
 | 
						|
            if (s.getRow() == 1) {
 | 
						|
                //success
 | 
						|
                if (HttpTools.StringToMD5(password).equals(s.getString("password"))) {
 | 
						|
                    Log.debug("login success");
 | 
						|
                    LoginState.getObject().logIn();
 | 
						|
                    LoginState.getObject().setAccountData(username,"","","");
 | 
						|
                    response = "{\"accept\": true}";
 | 
						|
                } else {
 | 
						|
                    Log.debug("wrong password");
 | 
						|
                }
 | 
						|
            } else if (s.getRow() == 0) {
 | 
						|
                //user not found
 | 
						|
                Log.debug("user not found");
 | 
						|
            } else {
 | 
						|
                //internal error two users with same name...?
 | 
						|
            }
 | 
						|
            Log.debug("rowcount: " + s.getRow());
 | 
						|
        } catch (SQLException e) {
 | 
						|
            e.printStackTrace();
 | 
						|
        }
 | 
						|
        return response;
 | 
						|
    }
 | 
						|
}
 |