Hiding UI elements based on role
So, we're now preventing admin users from placing orders by locking down the API endpoint to customer users only; we are also preventing admin users from accessing the shopping cart, checkout, and my account pages, seeing as they are no use to a user who can't place orders. However, the links to those pages are still visible, and this isn't a good user experience, so let's go ahead and hide the links that admin users shouldn't be able to see.
The first thing we're going to do is hide the cart summary widget in the main navbar. Open up the ClientApp/components/App.vue file
, then make the following amendments to the template
section:
<b-navbar-navclass="ml-auto mr-4">
<cart-summaryv-if="isCustomer"/>
<auth-nav-item/>
</b-navbar-nav>
Very simply, we conditionally render the cart summary component based on some kind of isCustomer
property, which we're yet to define. This property will be defined as a new computed property, and looks like...