SecureLogin - Multi-Login Restriction System without Spring Security | SpringBoot+ Hibernate+ MYSQL

Case Study Description:

ABC Corporation, a leading software development company, is planning to enhance the security of its internal systems by implementing a multi-login restriction feature for user logins...


Project Scope:

The project involves creating a Login API with multi-login restrictions. Users should be able to register, log in, and have their login attempts monitored. The system should restrict multiple simultaneous logins for the same user to enhance security...


Functional Requirements:

User Registration:
Users should be able to register with the system by providing a unique username and a strong password.
User details (username, password, registration timestamp) should be stored in a MySQL database.

User Login:
Registered users should be able to log in with their username and password.
Each login attempt should be recorded in the database, including the timestamp.

Multi-Login Restriction:
The system should restrict multiple simultaneous logins for the same user.
If a user is already logged in, subsequent login attempts should be denied until the previous session is logged out or expired.

Session Management:
Implement a session timeout mechanism to automatically log out users after a specified period of inactivity.

Technical Stack:

  • Backend Framework: Spring Boot
  • Database: MySQL
  • ORM: Hibernate or Spring Data JPA

Deliverables:

  1. Database Schema: Design a MySQL database schema to store user details and login attempts.
  2. Spring Boot Application: Implement a Spring Boot application with the necessary controllers, services, and repositories. Implement the multi-login restriction logic without using Spring Security. Utilize Hibernate or Spring Data JPA for database operations.
  3. Documentation: Provide detailed documentation on how to set up and run the project. Explain the database schema and the logic behind the multi-login restriction feature.
  4. Testing: Develop and execute unit tests to ensure the correctness of the implemented features.

Submission Guidelines:

  • Submit the project source code, including configuration files.
  • Include the MySQL database dump or migration scripts.
  • Provide clear instructions on how to deploy and run the project.
  • Demonstrate the multi-login restriction feature with appropriate test cases.

Evaluation Criteria:

Projects will be evaluated based on the following criteria:

  • Adherence to functional requirements.
  • Code quality, organization, and readability.
  • Proper use of Spring Boot features without Spring Security.
  • Database design and schema normalization.
  • Effectiveness of multi-login restriction logic.
  • Documentation completeness and clarity.
  • Successful demonstration of the project.

Solutions for the above Case Study will be uploaded by 13th Jan-2024 [Both written Code and video Explanation]


Post a Comment

0 Comments