Challenge Overview
Competition Overview
Right now in the application, users' roles are determined based on the AD group the users belong to. In this challenge we need to make some changes to this:
1. Currently we have multiple AD groups in the application, we are reducing the number of AD groups to just one and we'll make that AD group configurable in the application.
2. User roles no longer come from the AD group, instead role management will all be done within the app, that means the app data store will now need to maintain a mapping from userID to roles within the app. Please note that the app must also allow the admins to set the manager (optional) for a user, assign a Username in the case it is different than what AD provides, and mark a user as active or inactive.
3. The supported user roles will be coded into the application, the values should come from a database lookup table.
4. Submission must include sample SQL script for loading initial user mapping data into the app.
5. Do not attempt to write anything to AD. New User Creation workflow goes: User added by AD admin to group, then becomes visible in application for user to select a role. A user cannot login until role is assigned to them.
6. Authentication is still handled via AD, but authorization will now be done based on the new username / role mapping we are implementing here.
7. This application should not allow creation of new users, it's expected that an admin will create users directly in AD, and then use this application to grant the user access to this application.
8. You must clean all old code that's no longer (include obselete unit tests) used and properly document any new code / modified code.
9. You must update all relevant documentation (including deployment guide) to reflect the changes we are making in this challenge.
Testing
Unit tests from previous challenge must not be broken.
Unit tests must be provided for the new code.
Technology Overview
Visual Studio 2015SQL Server 2012
Active Directory
C#
REST
Angular.js
HTML5
Javascript
Final Submission Guidelines
Submission Deliverables
1. Full code that covers all requirements, including updated unit tests.
2. A complete and detailed deployment document explaining how to deploy the application including configuration information. Please make sure we have a consolidated deployment guide that covers deployment of both the backend and frontend, and we need it to cover deployment details to an IIS server, not just running from with Visual Studio.
Please note we are using the new scorecard for this challenge, so the deployment guide needs to be in Markdown format. Screenshots should be in an images sub-folder and referenced in the markdown deployment guide. See this blog post for more details: https://www.topcoder.com/blog/whos-keeping-score/
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.