This is a template web app with a built-in user management and authentication/authorization system both in the front- and in the back- ends. We use it as a starting point for future projects. You may download the code on github.

Functionality at a glance:

  • Multiple languages in the front-end.
  • Role-based authentication/authorization in the front-end and back-end, supporting external and internal users.
  • External user registration with email confirmation, password reminder, and approval by internal users.
Register User
  • User management by internal users (creation, deletion, role switching, and editing).
User Edit
  • User paging, searching, and sorting functionality.
Users List

Technical highlights:

  • Unified solution for back-end and front-end development in Visual Studio. Optionally, the applications may be separately developed in a different IDE (e.g. VS Code).
  • Back-end with ASP.NET Core Web API, EF Core and SQL Server.
  • Multi-layer back-end architecture with services injected in the controller constructor.
  • Back-end ViewModel validation returning validation errors to the client.
  • JWT back-end authentication and claim-based authorization with ASP.NET Core Identity.
  • Front-end with Angular 7 and Bootstrap.
  • Front-end role-based authorization with authentication service, routing modules, route data, authentication guards, and http interceptors.
  • Type-safe HttpClient observable requests with universal error handling for network or validation errors, and data prefetching from multiple services.