The User Access Management System is a web-based application designed to manage user access to various software applications within an organization. It provides functionalities like user registration, login, access request submission, and approval or rejection of access requests by managers. Admins have the additional ability to create new software applications within the system.
https://drive.google.com/file/d/1jDzxFNN8tw1-zffACpTCUsdp9L8UcTmv/view?usp=sharing
- User Registration (Sign-Up): Allows new users to register with a default role of "Employee."
- User Authentication (Login): Registered users can log in to the system based on their roles (Employee, Manager, Admin).
- Software Management (Admin Only): Admins can create and manage software applications.
- Access Request Submission (Employee): Employees can request access to software applications and specify the access level.
- Access Request Approval (Manager): Managers can approve or reject access requests.
- Backend: Java Servlets, Java Server Pages, Spring Boot (for project setup)
- Frontend: JavaServer Pages (JSP), HTML, CSS
- Database: PostgreSQL
- Build Tool: Maven
To get started with the project, you can clone the repository to your local machine using the following command:
-- git clone https://github.com/Ragulakarthik/UAMSystem.git
-
Install PostgreSQL: If you haven't already, install PostgreSQL. You can download it from here.
-
Create the Database: Create a database named
uamsin PostgreSQL. -
Run the Provided Database Script: Use the following SQL script to create the necessary tables for the application (
users,software, andrequests).CREATE TABLE users ( id SERIAL PRIMARY KEY, username TEXT UNIQUE NOT NULL, password TEXT NOT NULL, role TEXT NOT NULL CHECK (role IN ('Employee', 'Manager', 'Admin')) ); CREATE TABLE software ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, description TEXT, access_levels TEXT[] ); CREATE TABLE requests ( id SERIAL PRIMARY KEY, user_id INTEGER REFERENCES users(id), software_id INTEGER REFERENCES software(id), access_type TEXT CHECK (access_type IN ('Read', 'Write', 'Admin')), reason TEXT, status TEXT CHECK (status IN ('Pending', 'Approved', 'Rejected')) );
In the project, you need to configure the database connection in the application.properties file located in the src/main/resources directory.
Add the following configuration for your PostgreSQL database connection:
spring.datasource.url=jdbc:postgresql://localhost:5432/uams
spring.datasource.username=your-db-username
spring.datasource.password=your-db-password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialectThis section provides the necessary details to configure the database connection for the application.
-
Open the project in your preferred IDE (e.g., Spring boot, IntelliJ IDEA, Eclipse).
-
Build the project using Maven:
mvn clean install
The system supports three main user roles:
- Can sign up, log in, and request access to software applications.
- ❌ Cannot approve or reject access requests.
- ❌ Cannot create new software applications.
- ✅ Can approve or reject access requests.
- ❌ Cannot request access to software applications.
- ❌ Cannot create new software applications.
- ✅ Can create new software applications.
- 🔓 Has full access to all functionalities, including employee and manager roles.
- Sign-Up: Go to http://localhost:8080/signup.jsp and create a new account.
- Login: After signing up, you can log in from
login.jsp. - Request Access: Once logged in, you will be redirected to the Access Request page where you can request access to available software applications.
- Login: Create one Manager before only. After logging in, you will be directed to the Pending Requests page, where you can approve or reject access requests made by employees.
- Login: Create one Admin before only. After logging in, you will have the ability to create new software applications from the
createSoftware.jsppage.
Feel free to contribute to the project! Fork the repository, create a branch for your changes, and submit a pull request. Please ensure that you follow best practices and keep your code clean.
For any issues or suggestions, feel free to open an issue on GitHub.
Happy coding! 😃




