Hi Rui G., I noticed your profile and would like to offer you my project. We can discuss any details over chat.
* Overall Objective
Create the architecture and design of a LDAP based single sign-on platform.
Implement the system's services and applications.
The following prerequisites should be respected.
*. Use one major technology stack for development:
1. C# 6.0
2. ASP.NET MVC for web application development
3. ASP.NET Web API for REST API development
4. MSTest for unit tests
*. Use the following database and development environment tools according to the technology stack chosen:
1. Visual Studio 2015
2. MS SQL Server
*. You must use one of these front-end frameworks:
1. AngularJS (version 1 or 2)
*. You must automate testing and deployment of the web application using one of these task automation tools:
** Functional Specifications
The system allows custom authentication and authorization based upon an LDAP directory. In an organization, users and groups are stored in an LDAP directory.
All the intranet applications are supposed to use this directory for authentication and authorization, to implement SSO. You have to create a common system for these applications to use for such authentication and authorization.
The system is composed of the following components:
* Create a REST API that:
1. Authenticates users against the LDAP directory.
2. Keeps track of currently authenticated users, for later validations.
*. Create a web application that:
1. Contains a login page where users accessing client applications are redirected for authentication. This page should authenticate users using the REST API described in the previous item.
*. Create a http interceptor that:
1. Provides custom authentication and authorization for the client applications using the REST API.
2. Can be installed either on web server for all applications or be enabled in a specific application.
3. Examples of http interceptors: Http modules in .NET and Http Servlet Filters in Java/Java EE.
*. Create two single-page test applications that:
1. Should test the single sign-on system using the http interceptor described in the previous item.
2. Display information about the logged user.
3. Allow the user to logout.
4. Cannot have login pages. If not authenticated, the user should be redirected to login page of web application described in item 2.
5. A user logged into one application, should be able to use the other application without authenticate again.
6. If the user logout from one application, should be logged-out of other applications.
MOST IMPORTANTLY, the project has to be completed STRICTLY in 2 days