diff --git a/app/AuthorizationModule-app/src/main/resources/application.properties b/app/AuthorizationModule-app/src/main/resources/application.properties index 82a3454..bdff76e 100644 --- a/app/AuthorizationModule-app/src/main/resources/application.properties +++ b/app/AuthorizationModule-app/src/main/resources/application.properties @@ -1 +1,5 @@ -tokenValidityHours=720 \ No newline at end of file +tokenValidityHours=720 +jdbc.driver=org.postgresql.Driver +jdbc.url=jdbc:postgresql://localhost:5432/postgres +jdbc.username=postgres +jdbc.password=postgres \ No newline at end of file diff --git a/app/AuthorizationModule-app/src/main/webapp/WEB-INF/applicationContext.xml b/app/AuthorizationModule-app/src/main/webapp/WEB-INF/applicationContext.xml index 3165f00..c5f5931 100644 --- a/app/AuthorizationModule-app/src/main/webapp/WEB-INF/applicationContext.xml +++ b/app/AuthorizationModule-app/src/main/webapp/WEB-INF/applicationContext.xml @@ -29,10 +29,10 @@ - - - - + + + + @@ -67,5 +67,4 @@ - \ No newline at end of file diff --git a/app/AuthorizationModule-app/src/main/webapp/WEB-INF/web.xml b/app/AuthorizationModule-app/src/main/webapp/WEB-INF/web.xml index c85b15d..fabf785 100644 --- a/app/AuthorizationModule-app/src/main/webapp/WEB-INF/web.xml +++ b/app/AuthorizationModule-app/src/main/webapp/WEB-INF/web.xml @@ -16,7 +16,7 @@ contextConfigLocation - + WEB-INF/applicationContext.xml 1 diff --git a/sql/PERMISSION_TABLE.sql b/sql/PERMISSION_TABLE.sql deleted file mode 100644 index bf4ddfe..0000000 --- a/sql/PERMISSION_TABLE.sql +++ /dev/null @@ -1,13 +0,0 @@ -BEGIN TRANSACTION; - -CREATE SEQUENCE PERMISSION_SEQ START 1; - -CREATE TABLE PERMISSION ( - ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('PERMISSION_SEQ'), - NAME VARCHAR(50) UNIQUE NOT NULL, - DESCRIPTION VARCHAR(250) -); - -CREATE INDEX PERMISSION_NAME_IDX ON PERMISSION (NAME); - -COMMIT; \ No newline at end of file diff --git a/sql/ROLE_PERMISSION_TABLE.sql b/sql/ROLE_PERMISSION_TABLE.sql deleted file mode 100644 index 1109ea2..0000000 --- a/sql/ROLE_PERMISSION_TABLE.sql +++ /dev/null @@ -1,11 +0,0 @@ -BEGIN TRANSACTION; - -CREATE TABLE ROLE_PERMISSION ( - ROLE_ID INTEGER NOT NULL REFERENCES ROLE(ID), - PERMISSION_ID INTEGER NOT NULL REFERENCES PERMISSION(ID), - PRIMARY KEY(ROLE_ID, PERMISSION_ID) -); - -CREATE INDEX ROLE_PERMISSION_ROLE_ID_IDX ON ROLE_PERMISSION (ROLE_ID); - -COMMIT; \ No newline at end of file diff --git a/sql/ROLE_TABLE.sql b/sql/ROLE_TABLE.sql deleted file mode 100644 index 7fd36c0..0000000 --- a/sql/ROLE_TABLE.sql +++ /dev/null @@ -1,13 +0,0 @@ -BEGIN TRANSACTION; - -CREATE SEQUENCE ROLE_SEQ START 1; - -CREATE TABLE ROLE ( - ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('ROLE_SEQ'), - NAME VARCHAR(50) UNIQUE NOT NULL, - DESCRIPTION VARCHAR(250) -); - -CREATE INDEX ROLE_NAME_IDX ON ROLE (NAME); - -COMMIT; \ No newline at end of file diff --git a/sql/SESSION_TABLE.sql b/sql/SESSION_TABLE.sql deleted file mode 100644 index 890f6be..0000000 --- a/sql/SESSION_TABLE.sql +++ /dev/null @@ -1,17 +0,0 @@ -BEGIN TRANSACTION; - -CREATE SEQUENCE SESSION_SEQ START 1; - -CREATE TABLE SESSION ( - ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('SESSION_SEQ'), - USER_ID INTEGER NOT NULL REFERENCES USERS(ID), - TOKEN CHAR(36) NOT NULL UNIQUE, - START_TIME TIMESTAMP NOT NULL, - EXPIRATION_TIME TIMESTAMP NOT NULL, - VALID BOOLEAN NOT NULL DEFAULT TRUE -); - -CREATE INDEX SESSION_USER_ID_IDX ON SESSION (USER_ID); -CREATE INDEX SESSION_TOKEN_IDX ON SESSION (TOKEN); - -COMMIT; \ No newline at end of file diff --git a/sql/USER_ROLE_TABLE.sql b/sql/USER_ROLE_TABLE.sql deleted file mode 100644 index 96a4b2b..0000000 --- a/sql/USER_ROLE_TABLE.sql +++ /dev/null @@ -1,11 +0,0 @@ -BEGIN TRANSACTION; - -CREATE TABLE USER_ROLE ( - USER_ID INTEGER NOT NULL REFERENCES USERS(ID), - ROLE_ID INTEGER NOT NULL REFERENCES ROLE(ID), - PRIMARY KEY(USER_ID, ROLE_ID) -); - -CREATE INDEX USER_ROLE_USER_ID_IDX ON USER_ROLE (USER_ID); - -COMMIT; \ No newline at end of file diff --git a/sql/USER_TABLE.sql b/sql/USER_TABLE.sql deleted file mode 100644 index 527066d..0000000 --- a/sql/USER_TABLE.sql +++ /dev/null @@ -1,17 +0,0 @@ -BEGIN TRANSACTION; - -CREATE SEQUENCE USERS_SEQ START 1; - -CREATE TABLE USERS ( - ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('USERS_SEQ'), - LOGIN VARCHAR(25) UNIQUE NOT NULL, - PASSWORD CHAR(64) NOT NULL, - NAME VARCHAR(50) NOT NULL, - SURNAME VARCHAR(100) NOT NULL, - EMAIL VARCHAR(254) -); - -CREATE INDEX USERS_LOGIN_IDX ON USERS (LOGIN); -CREATE INDEX USERS_PASSWORD_IDX ON USERS (PASSWORD); - -COMMIT; \ No newline at end of file diff --git a/sql/data.sql b/sql/data.sql new file mode 100644 index 0000000..f693bf0 --- /dev/null +++ b/sql/data.sql @@ -0,0 +1,52 @@ +BEGIN TRANSACTION; +CREATE EXTENSION pgcrypto; +insert into users(id, login, password,name, surname, email) values (1, 'gis', encode(digest('gis', 'sha256'),'hex'), 'gis', 'gis', 'gis@agh'); +insert into users(id, login, password,name, surname, email) values (2, 'obj', encode(digest('obj', 'sha256'),'hex'), 'obj', 'objects', 'obj@agh'); +insert into users(id, login, password,name, surname, email) values (3, 'sen', encode(digest('sen', 'sha256'),'hex'), 'sen', 'sensors', 'sen@agh'); +insert into users(id, login, password,name, surname, email) values (4, 'req', encode(digest('req', 'sha256'),'hex'), 'req', 'requirements', 'req@agh'); +insert into users(id, login, password,name, surname, email) values (5, 'rul', encode(digest('rul', 'sha256'),'hex'), 'rul', 'rules', 'rul@agh'); +insert into users(id, login, password,name, surname, email) values (6, 'profiles', encode(digest('profiles', 'sha256'),'hex'), 'profiles', 'profiles', 'profiles@agh'); +insert into users(id, login, password,name, surname, email) values (7, 'all', encode(digest('all', 'sha256'),'hex'), 'All', 'Permissions', 'all@agh'); +insert into users(id, login, password,name, surname, email) values (8, 'noperm', encode(digest('noperm', 'sha256'),'hex'), 'No', 'Permission', 'noperm@agh'); +ALTER SEQUENCE USERS_SEQ INCREMENT BY 8; + +insert into permission(id, name, description) values(1, 'GIS_CRUD', 'Allows to create, read, update and delete GIS data (streets, buildings, trees etc.)'); +insert into permission(id, name, description) values(2, 'OBJECTS_CRUD', 'Allows to create, read, update and delete objects (fixtures, drivers, cabinets, segment controllers etc.)'); +insert into permission(id, name, description) values(3, 'SENSORS_CRUD', 'Allows to create, read, update and delete sensors'); +insert into permission(id, name, description) values(4, 'REQUIREMENTS_CRUD', 'Allows to create, read, update and delete requirements'); +insert into permission(id, name, description) values(5, 'RULES_CRUD', 'Allows to create, read, update and delete rules'); +insert into permission(id, name, description) values(6, 'PROFILES_CRUD', 'Allows to create, read, update and delete profiles and configuration'); +ALTER SEQUENCE PERMISSION_SEQ INCREMENT BY 6; + +insert into role(id, name, description) values(1, 'GIS_CRUD', 'GIS role'); +insert into role(id, name, description) values(2, 'OBJECTS_CRUD', 'Objects role'); +insert into role(id, name, description) values(3, 'SENSORS_CRUD', 'Sensors role'); +insert into role(id, name, description) values(4, 'REQUIREMENTS_CRUD', 'Requirements role'); +insert into role(id, name, description) values(5, 'RULES_CRUD', 'Rules role'); +insert into role(id, name, description) values(6, 'PROFILES_CRUD', 'Profiles role'); +insert into role(id, name, description) values(7, 'ALL_MODULES_CRUD', 'Includes all modules permissions'); +ALTER SEQUENCE ROLE_SEQ INCREMENT BY 7; + +insert into role_permission(role_id, permission_id) values (1,1); +insert into role_permission(role_id, permission_id) values (2,2); +insert into role_permission(role_id, permission_id) values (3,3); +insert into role_permission(role_id, permission_id) values (4,4); +insert into role_permission(role_id, permission_id) values (5,5); +insert into role_permission(role_id, permission_id) values (6,6); + +insert into role_permission(role_id, permission_id) values (7,1); +insert into role_permission(role_id, permission_id) values (7,2); +insert into role_permission(role_id, permission_id) values (7,3); +insert into role_permission(role_id, permission_id) values (7,4); +insert into role_permission(role_id, permission_id) values (7,5); +insert into role_permission(role_id, permission_id) values (7,6); + +insert into user_role(user_id, role_id) values (1,1); +insert into user_role(user_id, role_id) values (2,2); +insert into user_role(user_id, role_id) values (3,3); +insert into user_role(user_id, role_id) values (4,4); +insert into user_role(user_id, role_id) values (5,5); +insert into user_role(user_id, role_id) values (6,6); +insert into user_role(user_id, role_id) values (7,7); + +COMMIT; \ No newline at end of file diff --git a/sql/schema.sql b/sql/schema.sql new file mode 100644 index 0000000..7e9cfe1 --- /dev/null +++ b/sql/schema.sql @@ -0,0 +1,70 @@ +BEGIN TRANSACTION; + +CREATE SEQUENCE PERMISSION_SEQ START 1; + +CREATE TABLE PERMISSION ( + ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('PERMISSION_SEQ'), + NAME VARCHAR(50) UNIQUE NOT NULL, + DESCRIPTION VARCHAR(250) +); + +CREATE INDEX PERMISSION_NAME_IDX ON PERMISSION (NAME); + +CREATE SEQUENCE USERS_SEQ START 1; + +CREATE TABLE USERS ( + ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('USERS_SEQ'), + LOGIN VARCHAR(25) UNIQUE NOT NULL, + PASSWORD CHAR(64) NOT NULL, + NAME VARCHAR(50) NOT NULL, + SURNAME VARCHAR(100) NOT NULL, + EMAIL VARCHAR(254) +); + +CREATE INDEX USERS_LOGIN_IDX ON USERS (LOGIN); +CREATE INDEX USERS_PASSWORD_IDX ON USERS (PASSWORD); + +CREATE SEQUENCE ROLE_SEQ START 1; + +CREATE TABLE ROLE ( + ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('ROLE_SEQ'), + NAME VARCHAR(50) UNIQUE NOT NULL, + DESCRIPTION VARCHAR(250) +); + +CREATE INDEX ROLE_NAME_IDX ON ROLE (NAME); + + +CREATE SEQUENCE SESSION_SEQ START 1; + +CREATE TABLE SESSION ( + ID INTEGER PRIMARY KEY DEFAULT NEXTVAL('SESSION_SEQ'), + USER_ID INTEGER NOT NULL REFERENCES USERS(ID), + TOKEN CHAR(36) NOT NULL UNIQUE, + START_TIME TIMESTAMP NOT NULL, + EXPIRATION_TIME TIMESTAMP NOT NULL, + VALID BOOLEAN NOT NULL DEFAULT TRUE +); + +CREATE INDEX SESSION_USER_ID_IDX ON SESSION (USER_ID); +CREATE INDEX SESSION_TOKEN_IDX ON SESSION (TOKEN); + +CREATE TABLE ROLE_PERMISSION ( + ROLE_ID INTEGER NOT NULL REFERENCES ROLE(ID), + PERMISSION_ID INTEGER NOT NULL REFERENCES PERMISSION(ID), + PRIMARY KEY(ROLE_ID, PERMISSION_ID) +); + +CREATE INDEX ROLE_PERMISSION_ROLE_ID_IDX ON ROLE_PERMISSION (ROLE_ID); + +CREATE TABLE USER_ROLE ( + USER_ID INTEGER NOT NULL REFERENCES USERS(ID), + ROLE_ID INTEGER NOT NULL REFERENCES ROLE(ID), + PRIMARY KEY(USER_ID, ROLE_ID) +); + +CREATE INDEX USER_ROLE_USER_ID_IDX ON USER_ROLE (USER_ID); + + + +COMMIT; \ No newline at end of file