{"version":"1.0","provider_name":"Developer Support","provider_url":"https:\/\/devblogs.microsoft.com\/premier-developer","author_name":"Developer Support","author_url":"https:\/\/devblogs.microsoft.com\/premier-developer\/author\/premierdev\/","title":"Angular How-to: Implement Role-based security - Developer Support","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"gDrHjeau4O\"><a href=\"https:\/\/devblogs.microsoft.com\/premier-developer\/angular-how-to-implement-role-based-security\/\">Angular How-to: Implement Role-based security<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/angular-how-to-implement-role-based-security\/embed\/#?secret=gDrHjeau4O\" width=\"600\" height=\"338\" title=\"&#8220;Angular How-to: Implement Role-based security&#8221; &#8212; Developer Support\" data-secret=\"gDrHjeau4O\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/premier-developer\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2019\/10\/learning_fi.png","thumbnail_width":400,"thumbnail_height":266,"description":"Laurie Atkinson, Premier Developer Consultant, shows us how to customize the behavior of an Angular app based on the user\u2019s permissions. This includes page navigation, hiding and disabling of UI elements, and generation of menus. Applications often include requirements to customize their appearance and behavior based on the user\u2019s role or permission. Users should only [&hellip;]"}