I previously published a couple of articles on how to create a security system in Angular. In those articles, a set Angular classes for users' authentication/authorization were created. You used these classes to login a user and create a set of properties in a class to turn menus and buttons on and off. For each menu, or button, you want to turn on or off, you have a corresponding property in a AppUserAuth class. This works for smaller applications, but for larger applications, you would be best to use a traditional claims-based approach.
In Part 1 of this article, you created a set Angular classes for users and user authentication/authorization. You used these classes to login a user, create a set of properties in a class to turn menus and buttons on and off. In this article you learn to authenticate users against a Web API method. That method returns an authorization object with the same properties as the classes you created in Angular. You are also going to learn to secure your Web API methods using JSON Web Tokens (JWT). You use the [Authorize] attribute to secure your methods, and you learn to add security policies too.CodeProject
In most business applications, you are going to want to disable, or make invisible, different features such as menu items, buttons and other UI items, based on who is logged in and what roles or permissions they have. Angular does not have anything built-in to help you with this, so you must create it yourself. There are two different pieces to security you must worry about with Angular applications. First, you must develop the client-side security, which is the subject of this article. Second, you must secure your Web API calls, which will be the subject of another article.
If you use Azure, there is finally a great resource that can help you with wading through the various services. Barry Luijbregts has created a Pluralsight course entitled " Microsoft Azure for Developers: What to Use When". In this course, Barry breaks down the various Azure services and talks about which ones to use, and in what context. This course is ideal for beginners and even those already familiar with Azure.
Take a look at his course at http://bit.ly/2D132Ai. You will be glad you did!
On December 22, 2017, Paul D. Sheriff released another www.pluralsight.com course on Angular. This one is entitled Building Reusable Angular Services: Configuration Management and continues his series on building Angular Services that are useful in many different applications.
In the last blog post you learned how to structure your jQuery applications like Angular applications. You created a single page on which to host all your other pages. In this post you are going to put those techniques to work by building a complete list, add, edit and delete page as shown in Figure 1 and Figure 2. You are going to use a Person table full of data such as First Name, Last Name, Email and Salary data for a set of people.
You may not know, but two principals at Fairway Technologies are published authors at Pluralsight.com. Pluralsight is the leader in online technology courses. Paul D. Sheriff and Michael Krasowski have created over 20 courses covering topics from Project Management, Estimation to WPF, MVC and Angular. Check out the complete list of the courses produced to date.
In the previous blog post on creating a configuration settings system for Angular, you learned to create a configuration settings service to retrieve default settings for your application. You first learned to hard-code a settings class with values, then how to read those same settings from a JSON file.
When a user clicks on a button on a web page, there can be a delay between posting back to the server and the next action that happens on the screen. The problem with this delay is the user may not know they actually clicked on the button and tries to hit the button again. It is important to give immediate feedback to the user so they know that the application is doing something. This post will show you how to disable the button, display a pop-up message and gray out the background before the post back happens thereby providing feedback to our user.