I currently have a .NET-based workflow with Angular JS and a possibility has arisen for a new project using Java.
With .NET I use the following technologies:
ASP.NET Identity
Used for authentication and authorization. Managing access users with roles.
ASP.NET Web API
A REST layer that is consumed by an HTML5 client with Angular JS, with authentication and authorization capabilities based on ASP.NET Identity.
ASP.NET Web Pages
As the client side uses Angular JS instead of generating templates using .html (pure) that would not allow any server-side preprocessing, I chose to use .cshtml (web pages) that makes it possible to do checks like this:
<div>
@if (User.IsInRole("admin")) {
<a href="/api/emp/excluir/5">Excluir</a>
}
</div>
That is, if the logged-in user does not have the privilege of the information, or certain sections of the template, they will never be sent to the browser. This is necessary to increase security.
As the Java world has a myriad of frameworks available for a wide range of needs, what Java technologies could be used to maintain a similar architecture?