diff --git a/domainManager/Domain/.classpath b/domainManager/Domain/.classpath
index 1bf32ae4c6935b715d45f0de5471fee5b075efdd..0ea2173a7dde1d224d8acd56711a4044464e5e99 100644
--- a/domainManager/Domain/.classpath
+++ b/domainManager/Domain/.classpath
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
 		<attributes>
 			<attribute name="module" value="true"/>
diff --git a/domainManager/Domain/DBPissirDomain.db b/domainManager/Domain/DBPissirDomain.db
index ba2ee183bb4c79e7899376828cfb70a3c9ad8161..83d955e9b38a8f328dd987aab8ebf63c1b384a2f 100644
Binary files a/domainManager/Domain/DBPissirDomain.db and b/domainManager/Domain/DBPissirDomain.db differ
diff --git a/domainManager/Domain/bin/.gitignore b/domainManager/Domain/bin/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..99591d4d7ebd2f44e23703967a38c86d34174fce
--- /dev/null
+++ b/domainManager/Domain/bin/.gitignore
@@ -0,0 +1,2 @@
+/db/
+/code/
diff --git a/domainManager/Domain/bin/code/Domain.class b/domainManager/Domain/bin/code/Domain.class
index 4c972884eb871e707d8499e1a6307cd0b0ebb691..4d24031e06dd6fed51cdd610b1560d4b6aa73904 100644
Binary files a/domainManager/Domain/bin/code/Domain.class and b/domainManager/Domain/bin/code/Domain.class differ
diff --git a/domainManager/Domain/bin/code/StartHandler.class b/domainManager/Domain/bin/code/StartHandler.class
index 049e5c28163c3bd27fa089afe48070e2ecb5ab73..2b0d8b50562d1178a83b2a73c8696e147f52512e 100644
Binary files a/domainManager/Domain/bin/code/StartHandler.class and b/domainManager/Domain/bin/code/StartHandler.class differ
diff --git a/domainManager/Domain/bin/db/Connect.class b/domainManager/Domain/bin/db/Connect.class
index c6c17fddfd2ba8900522c262127d4fa802a551e1..ea4b8b874d0b364bd2e96efdc092ef355af6159c 100644
Binary files a/domainManager/Domain/bin/db/Connect.class and b/domainManager/Domain/bin/db/Connect.class differ
diff --git a/domainManager/Domain/bin/hibernate.cfg.xml b/domainManager/Domain/bin/hibernate.cfg.xml
deleted file mode 100644
index c9a441712058590b72c609489620b69334e7b12d..0000000000000000000000000000000000000000
--- a/domainManager/Domain/bin/hibernate.cfg.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd%22%3E
-
-<hibernate-configuration>
-    <session-factory>
-        <property name="show_sql">true</property>
-        <property name="format_sql">true</property>
-        <property name="dialect">org.hibernate.dialect.SQLiteDialect</property>
-        <property name="connection.driver_class">org.sqlite.JDBC</property>
-        <property name="connection.url">jdbc:sqlite:/home/ale/Scrivania/DBPissirDomain.db</property>
-        <property name="connection.username"></property>
-        <property name="connection.password"></property>
-
-        <property name="hibernate.hbm2ddl.auto">update</property>
-
-        <mapping class="com.srccodes.example.hibernate.Contact"/>
-    </session-factory>
-</hibernate-configuration>
\ No newline at end of file
diff --git a/domainManager/Domain/resources/hibernate.cfg.xml b/domainManager/Domain/resources/hibernate.cfg.xml
deleted file mode 100644
index c9a441712058590b72c609489620b69334e7b12d..0000000000000000000000000000000000000000
--- a/domainManager/Domain/resources/hibernate.cfg.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd%22%3E
-
-<hibernate-configuration>
-    <session-factory>
-        <property name="show_sql">true</property>
-        <property name="format_sql">true</property>
-        <property name="dialect">org.hibernate.dialect.SQLiteDialect</property>
-        <property name="connection.driver_class">org.sqlite.JDBC</property>
-        <property name="connection.url">jdbc:sqlite:/home/ale/Scrivania/DBPissirDomain.db</property>
-        <property name="connection.username"></property>
-        <property name="connection.password"></property>
-
-        <property name="hibernate.hbm2ddl.auto">update</property>
-
-        <mapping class="com.srccodes.example.hibernate.Contact"/>
-    </session-factory>
-</hibernate-configuration>
\ No newline at end of file
diff --git a/domainManager/Domain/src/code/Domain.java b/domainManager/Domain/src/code/Domain.java
index 6bef0935daa7309243b060336ef9b1a07b382cb8..5ba15cae669b6ae0297e2343136aa4a6ce5872ab 100644
--- a/domainManager/Domain/src/code/Domain.java
+++ b/domainManager/Domain/src/code/Domain.java
@@ -25,7 +25,7 @@ public class Domain {
 		ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor)Executors.newCachedThreadPool();////newFixedThreadPool(5)
 		HttpServer server=HttpServer.create(new InetSocketAddress(port),0);
 		
-		Connect.connect();
+		//Connect.connect();
 		
 		
 		
diff --git a/domainManager/Domain/src/code/StartHandler.java b/domainManager/Domain/src/code/StartHandler.java
index e35489a84181fe9ae765b9db8fd8a2a01a35e4f7..65d41274dd795fb234092107b4b99ae436ad95b4 100644
--- a/domainManager/Domain/src/code/StartHandler.java
+++ b/domainManager/Domain/src/code/StartHandler.java
@@ -10,14 +10,20 @@ import java.io.Reader;
 import java.net.HttpURLConnection;
 import java.net.URI;
 import java.net.URL;
+import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import com.sun.net.httpserver.Headers;
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
+import db.DbStart;
+import db.Dominio;
+
 public class StartHandler implements HttpHandler {
 
 	@Override
@@ -44,8 +50,58 @@ public class StartHandler implements HttpHandler {
 		String query = requestedUri.getRawQuery();
 		String body = readBody(he.getRequestBody());
 		String response = "AYYYYY";
+		String user= he.getRequestHeaders().get("user").get(0);
+		
+		//se dominio del body ha admin chi fa chiamata allora continua
 		
 		if(requestMethod.compareToIgnoreCase("POST")==0) {
+				String dominio=body.substring(7);
+				System.out.println(requestMethod+"\n"+query+"\n"+body+"\n"+response+"\n"+user+"\n"+dominio+"\n");
+				
+				try {
+					System.out.println("PreDB");
+					//ArrayList<Dominio> doms=DbStart.domainsGet();
+					System.out.println("PostDB");
+					Dominio d= DbStart.getDom(dominio);
+					String s=user+"-A";
+					/*
+					for(Dominio d : doms){
+					       if( (d.getDomain() == dominio) && d.getUsers().contains(s))
+					           //something here
+					    	   System.out.println("OPERAZIONE NON IMPLEMENTATA");
+					         he.sendResponseHeaders(401,response.length());
+					         OutputStream os = he.getResponseBody();
+					         os.write("NON AUTORIZZATO".getBytes());
+					         os.close();
+					         return;
+					   }
+					*/
+					if(!d.getUsers().contains(s)) {
+						 //he.sendResponseHeaders(401,0 );
+						 System.out.println("NON AUTORIZZATO");
+						 response="NON AUTORIZZATO";
+				         he.sendResponseHeaders(401,response.length());
+				         OutputStream os = he.getResponseBody();
+				         
+				         os.write(response.getBytes());
+				         os.close();
+				         
+				         //System.out.println("OPERAZIONE NON IMPLEMENTATA");
+				         //he.sendResponseHeaders(501,0);
+				         //OutputStream os = he.getResponseBody();
+				         //os.write("OPERAZIONE NON IMPLEMENTATA".getBytes());
+				         //os.close();
+				         
+				         return;
+					}
+					
+				} catch (SQLException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+				
+				
+			
 			 	URL url = new URL("http://localhost:3000/start");//maybe, se CloudApp è in localhost porta 8080
 		        HttpURLConnection con = (HttpURLConnection) url.openConnection();
 		        con.setRequestMethod("POST");
@@ -55,18 +111,19 @@ public class StartHandler implements HttpHandler {
 		        Map<String, String> parameters = new HashMap<>();
 		        System.out.println("pino1");
 		        //{“domain”:”nome_dominio”} check utente chiamante ha permessi su dominio chiamato, chi fa install è admin
+		        
 		        parameters.put("param1", "val");//fix parametri da mandare
 		        //leggo da DB domini e riempio (magari famo .DAO??)
 
 		        
 		        con.setDoOutput(true);
-		        System.out.println("pino2");
+		        //System.out.println("pino2");
 		        DataOutputStream out = new DataOutputStream(con.getOutputStream());//inserimento param in call
 		        out.writeBytes(ParameterStringBuilder.getParamsString(parameters));
 		        
 		        out.flush();
 		        out.close();
-		        System.out.println("pino3");
+		        //System.out.println("pino3");
 
 		        //con.setRequestProperty("Content-Type", "application/json");
 		        //String contentType = con.getHeaderField("Content-Type");
@@ -120,6 +177,10 @@ public class StartHandler implements HttpHandler {
             os.close();
         }
 	}
+	
+	
+	
+	
 		
 		private String readBody(InputStream requestBody) {
 	        int req;
diff --git a/domainManager/Domain/src/db/Connect.java b/domainManager/Domain/src/db/Connect.java
index 2217ef2d4cf50eeaca731093b32257eef5b42f7d..dec5a1a496b7dc206e56fe6ec68d73910d5efb33 100644
--- a/domainManager/Domain/src/db/Connect.java
+++ b/domainManager/Domain/src/db/Connect.java
@@ -15,6 +15,7 @@ public class Connect {
      /**
      * Connect to a sample database
      */
+	//public static Connection conn = null;
     public static void connect() {
         Connection conn = null;
         try {
@@ -24,7 +25,7 @@ public class Connect {
             conn = DriverManager.getConnection(url);
             
             System.out.println("Connection to SQLite has been established.");
-            
+            /*
             String sql= "SELECT * FROM Utenti";
             Statement statement =conn.createStatement();
             ResultSet result =statement.executeQuery(sql);
@@ -33,7 +34,7 @@ public class Connect {
             	
             	String desc=result.getString("Desc");
             	System.out.println(name+desc);
-            }
+            }*/
             
         } catch (SQLException e) {
             System.out.println(e.getMessage());
@@ -47,6 +48,8 @@ public class Connect {
             }
         }
     }
+    
+ 
     /**
      * @param args the command line arguments
      */
diff --git a/domainManager/Domain/src/db/DbStart.java b/domainManager/Domain/src/db/DbStart.java
new file mode 100644
index 0000000000000000000000000000000000000000..4208277898e9cb2b39cf087b0eaf50b6bde96be7
--- /dev/null
+++ b/domainManager/Domain/src/db/DbStart.java
@@ -0,0 +1,194 @@
+package db;
+
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Arrays;
+import db.Connect;
+
+/**
+ *
+ * @author sqlitetutorial.net
+ */
+public class DbStart {
+     /**
+     * Connect to a sample database
+     */
+	//static Connection conn = null;
+    /*
+	public static void connect() {
+        
+        try {
+            // db parameters
+            String url = "jdbc:sqlite:DBPissirDomain.db";
+            create a connection to the database
+            conn = DriverManager.getConnection(url);
+            
+            System.out.println("Connection to SQLite has been established.");
+            
+            System.out.println("OIOI");
+        } catch (SQLException e) {
+            System.out.println(e.getMessage());
+        } finally {
+            try {
+                if (conn != null) {
+                    conn.close();
+                }
+            } catch (SQLException ex) {
+                System.out.println(ex.getMessage());
+            }
+        }
+    }
+    */
+    public static ArrayList<Dominio> domainsGet() throws SQLException {
+    	//connect();
+    	
+    	
+    	
+    	     /**
+    	     * Connect to a sample database
+    	     */
+    		//public static Connection conn = null;
+    	    
+    	        Connection conn = null;
+    	        try {
+    	            // db parameters
+    	            String url = "jdbc:sqlite:DBPissirDomain.db";
+    	            // create a connection to the database
+    	            conn = DriverManager.getConnection(url);
+    	            
+    	            System.out.println("Connection to SQLite has been established.");
+    	            /*
+    	            String sql= "SELECT * FROM Utenti";
+    	            Statement statement =conn.createStatement();
+    	            ResultSet result =statement.executeQuery(sql);
+    	            while (result.next()) {
+    	            	String name=result.getString("User");
+    	            	
+    	            	String desc=result.getString("Desc");
+    	            	System.out.println(name+desc);
+    	            }*/
+    	            
+    	            String sql= "SELECT * FROM Domini";
+    	            Statement statement =conn.createStatement();
+    	            ResultSet result =statement.executeQuery(sql);
+    	            System.out.println("57");
+    	            ArrayList<Dominio> res=new ArrayList <Dominio>();
+    	            while (result.next()) {
+    	            	System.out.println("60");
+    	            	String dom=result.getString("Domain");
+    	            	String desc=result.getString("Desc");
+    	            	
+    	            	//String users=result.getString("Users");
+    	            	ArrayList<String> users = new ArrayList<String>(Arrays.asList(result.getString("Users").split(",")));
+    	            	ArrayList<String> reso = new ArrayList<String>(Arrays.asList(result.getString("Resources").split(",")));
+    	            	//String reso=result.getString("Resources");
+    	            	
+    	            	String state=result.getString("State");
+    	            	ArrayList<String> serv = new ArrayList<String>(Arrays.asList(result.getString("Services").split(",")));
+    	            	//String serv=result.getString("Services");
+    	            	Dominio d=new Dominio(dom,desc,users,reso,state,serv);
+    	            	res.add(d);
+    	            	System.out.println("74");
+    	            	
+    	            }
+    	            return res;
+    	            
+    	        } catch (SQLException e) {
+    	            System.out.println(e.getMessage());
+    	        } finally {
+    	            try {
+    	                if (conn != null) {
+    	                    conn.close();
+    	                }
+    	            } catch (SQLException ex) {
+    	                System.out.println(ex.getMessage());
+    	            }
+    	        }
+				return null;
+    	    
+    	
+    	
+        
+    }
+    
+    public static Dominio getDom(String dm) throws SQLException {
+    	//connect();
+    	//Statement statement =conn.createStatement();
+    	
+    	
+        
+        Connection conn = null;
+        try {
+            // db parameters
+            String url = "jdbc:sqlite:DBPissirDomain.db";
+            // create a connection to the database
+            conn = DriverManager.getConnection(url);
+            
+            System.out.println("Connection to SQLite has been established.");
+            /*
+            String sql= "SELECT * FROM Utenti";
+            Statement statement =conn.createStatement();
+            ResultSet result =statement.executeQuery(sql);
+            while (result.next()) {
+            	String name=result.getString("User");
+            	
+            	String desc=result.getString("Desc");
+            	System.out.println(name+desc);
+            }*/
+            
+            PreparedStatement prepared = conn.prepareStatement("SELECT * FROM Domini WHERE Domain = ?");
+        	prepared.setString(1, dm);
+        	ResultSet result = prepared.executeQuery();
+        	
+        	
+        	//String sql= "SELECT * FROM Domini WHERE Domain = ?";
+            
+            //ResultSet result =statement.executeQuery(sql);
+            //Dominio res=new Dominio();
+            while (result.next()) {
+            	
+            	String dom=result.getString("Domain");
+            	String desc=result.getString("Desc");
+            	
+            	//String users=result.getString("Users");
+            	ArrayList<String> users = new ArrayList<String>(Arrays.asList(result.getString("Users").split(",")));
+            	ArrayList<String> reso = new ArrayList<String>(Arrays.asList(result.getString("Resources").split(",")));
+            	//String reso=result.getString("Resources");
+            	
+            	String state=result.getString("State");
+            	ArrayList<String> serv = new ArrayList<String>(Arrays.asList(result.getString("Services").split(",")));
+            	//String serv=result.getString("Services");
+            	Dominio d=new Dominio(dom,desc,users,reso,state,serv);
+            	//res.add(d);
+            	return d;
+            }
+            return null;
+            
+        } catch (SQLException e) {
+            System.out.println(e.getMessage());
+        } finally {
+            try {
+                if (conn != null) {
+                    conn.close();
+                }
+            } catch (SQLException ex) {
+                System.out.println(ex.getMessage());
+            }
+        }
+		return null;
+    
+        
+    }
+    /**
+     * @param args the command line arguments
+     */
+    //public static void main(String[] args) {
+    //    connect();
+    //}
+}
diff --git a/domainManager/Domain/src/db/Dominio.java b/domainManager/Domain/src/db/Dominio.java
new file mode 100644
index 0000000000000000000000000000000000000000..4ff619e2789aaec58f42e49bc6db6573619d99af
--- /dev/null
+++ b/domainManager/Domain/src/db/Dominio.java
@@ -0,0 +1,31 @@
+package db;
+
+import java.util.ArrayList;
+
+public class Dominio {
+	
+	String domain;
+	public String desc;
+    ArrayList<String> users;
+	public ArrayList<String> resources;
+	public String state;
+	public ArrayList<String> services;
+	
+	public Dominio(String dom, String de, ArrayList<String> u, ArrayList<String> res, String st, ArrayList<String> ser) {
+		domain=dom;
+		desc=de;
+		users=new ArrayList<String>(u);
+		resources=new ArrayList<String>(res);
+		state=st;
+		services=new ArrayList<String>(ser);
+	}
+	
+	public String getDomain() {
+		return domain;
+	}
+	
+	public ArrayList<String> getUsers(){
+		return users;
+	}
+
+}