{"id":98259,"date":"2025-04-30T16:43:40","date_gmt":"2025-04-30T11:13:40","guid":{"rendered":"https:\/\/cloudfoundation.com\/blog\/?p=98259"},"modified":"2025-05-01T15:52:49","modified_gmt":"2025-05-01T10:22:49","slug":"aem-user-management-aem-sling-model","status":"publish","type":"post","link":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/","title":{"rendered":"AEM User Management | AEM Sling Model"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Understanding_AEM_Replication_and_Distribution\" >Understanding AEM Replication and Distribution<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Security_Features_in_AEM\" >Security Features in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Using_System_Users_in_AEM\" >Using System Users in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Understanding_AEM_User_Management\" >Understanding AEM User Management<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Exploring_AEMs_Classic_and_Touch_UI\" >Exploring AEM\u2019s Classic and Touch UI<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#AEM_Security_and_User_Management_Best_Practices\" >AEM Security and User Management Best Practices<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Understanding_AEM_System_User_Privileges\" >Understanding AEM System User Privileges<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#The_Role_of_AEM_System_Users\" >The Role of AEM System Users<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Configuring_AEM_System_Users\" >Configuring AEM System Users<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Mapping_System_Users_in_AEM\" >Mapping System Users in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Understanding_AEM_User_Ranking\" >Understanding AEM User Ranking<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#AEM_Security_Best_Practices\" >AEM Security Best Practices<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Understanding_AEM_Sling_Model\" >Understanding AEM Sling Model<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Setting_Up_AEM_Sling_Model\" >Setting Up AEM Sling Model<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Injecting_Properties_in_AEM\" >Injecting Properties in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Optional_Property_Injection_in_AEM\" >Optional Property Injection in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Calling_AEM_Sling_Model_in_Slightly\" >Calling AEM Sling Model in Slightly<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Accessing_Properties_in_AEM_Sling_Model\" >Accessing Properties in AEM Sling Model<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Using_AEM_for_Enhanced_Development\" >Using AEM for Enhanced Development<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Streamlining_Deployment_with_AEM\" >Streamlining Deployment with AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#AEM_Sling_Models_and_Services\" >AEM Sling Models and Services<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Why_AEM_is_Perfect_for_Component_Development\" >Why AEM is Perfect for Component Development<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Sling_Services_in_AEM\" >Sling Services in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Customizing_AEM_Deployments\" >Customizing AEM Deployments<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#AEM_Sling_Model_and_Services\" >AEM Sling Model and Services<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Creating_AEM_Services\" >Creating AEM Services<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Why_AEM_Sling_Services_Are_Essential\" >Why AEM Sling Services Are Essential<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Optimizing_AEM_Service_Instances\" >Optimizing AEM Service Instances<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#Calling_AEM_Services_from_Sling_Models\" >Calling AEM Services from Sling Models<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Replication_and_Distribution\"><\/span><strong>Understanding AEM Replication and Distribution<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM introduces an alternative distribution model, moving away from replication. This pub-sub system means content no longer needs to reach all publishers manually.<\/p>\n<p>Instead, publishers subscribe to notifications that automatically notify them when new publications come online.<\/p>\n<p>Behind the scenes, however, has changed considerably, even though everything feels similar.<\/p>\n<p>The switch from replication to distribution entails new responsibilities: as publishers, they will now be responsible for subscribing to and receiving updates in AEM.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Security_Features_in_AEM\"><\/span><strong>Security Features in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong><a href=\"https:\/\/cloudfoundation.com\/blog\/pingfederate-certification\/\" target=\"_blank\" rel=\"noopener\">Security<\/a><\/strong> is of the utmost importance. When assigning permissions, create users and groups. Let&#8217;s make one from the CRX perspective named &#8216;Simple User&#8217; with a straightforward password.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Content-Flow.png\" alt=\"AEM Training\" width=\"800\" height=\"1996\" \/><\/p>\n<p>Users in AEM are stored under their home hierarchy, while AEM groups simplify permission management; instead of assigning privileges individually to hundreds of users, create one group and make users members.<\/p>\n<p>Any permission changes made within it automatically apply to its members.<\/p>\n<p>Create groups easily. After adding a user to a group (Sample User in this case), I can assign privileges directly to that group&#8217;s membership profile, giving all its users equal permissions in AEM.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Using_System_Users_in_AEM\"><\/span><strong>Using System Users in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM system users are indispensable for running code efficiently, particularly when <a href=\"https:\/\/cloudfoundation.com\/blog\/sap-security-certification\" target=\"_blank\" rel=\"noopener\"><strong>ensuring security<\/strong><\/a> on publisher instances.<\/p>\n<p>While authors log into AEM directly via individual accounts, publishers rely instead on anonymous users who interact directly with end-users via AEM&#8217;s user management features.<\/p>\n<p>At present, anonymous users lack enough privileges for specific tasks; to address this shortcoming, AEM uses system or service users with predefined permissions to perform secure operations without leaving themselves vulnerable to vulnerabilities.<\/p>\n<p>Executing code on an ETC node depends upon who is logged in; without write privileges, operations could fail, and to prevent this scenario from arising again, system users must be used to secure the node.<\/p>\n<p>System users provide this solution through secure privilege management for critical operations within AEM.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_User_Management\"><\/span><strong>Understanding AEM User Management<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/cloudfoundation.com\/blog\/aem-training-digital-management-platform\/\" target=\"_blank\" rel=\"noopener\"><strong>User management in AEM<\/strong><\/a> is critical for access control and permission management. Groups are created within AEM to organize users efficiently.<\/p>\n<p>When working within this platform, I create groups to organise users effectively; for example, accessing my CRX repository enables me to refresh home hierarchies and navigate between different groups efficiently and quickly.<\/p>\n<p>Each user group in AEM possesses specific privileges that determine which actions users can perform within the system. Assigning permissions within AEM is simple.<br \/><video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-User-Management.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><br \/>Grant permission to a specific user or group access, such as reading or modifying rights.<\/p>\n<p>Permissions may be granted according to need if users require complete control over specific resources.<\/p>\n<p>These permissions determine whether users can edit properties, access specific paths, or make modifications within the AEM environment.<\/p>\n<p>Once permissions have been assigned to a group, its child users inherit them automatically for seamless access control across teams.<\/p>\n<p>AEM supports system users for backend processes rather than direct logins.<\/p>\n<p>These users interact with the codebase based on predetermined permissions, which helps them automate workflows.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Exploring_AEMs_Classic_and_Touch_UI\"><\/span><strong>Exploring AEM\u2019s Classic and Touch UI<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM has experienced a dramatic transformation, transitioning from its classic user interface (UI) to touch user interaction (UI).<\/p>\n<p>Classic was widely employed before AEM 6.0; newer versions emphasise touch UI for optimal device usability.<\/p>\n<p>Classic user interface (UI) had its benefits; however, mobile and tablet users found certain functionalities difficult to access due to inflexibility on specific screens.<\/p>\n<p>With touch UI, AEM introduced features like experience fragments, providing authors with advanced tools for managing digital content.<\/p>\n<p><a href=\"https:\/\/cloudfoundation.com\/blog\/adobe-cq5-training\" target=\"_blank\" rel=\"noopener\"><strong>Adobe<\/strong><\/a> has since discontinued classic UI in its cloud offerings, and users should transition entirely to touch UI for future compatibility purposes.<\/p>\n<p>Touch UI streamlines workflows while adhering to modern design principles and supporting all essential AEM features.<\/p>\n<p>Adobe no longer supports classic user interfaces, making touch UI a better option for managing <a href=\"https:\/\/cloudfoundation.com\/blog\/aem-interview-questions\" target=\"_blank\" rel=\"noopener\"><strong>AEM environments<\/strong><\/a>.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Evolution.png\" alt=\"AEM Training\" width=\"800\" height=\"945\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"AEM_Security_and_User_Management_Best_Practices\"><\/span><strong>AEM Security and User Management Best Practices<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Security is of the utmost importance in <a href=\"https:\/\/cloudfoundation.com\/blog\/aem-tutorial-adobe-experience-manager\" target=\"_blank\" rel=\"noopener\"><strong>AEM user management<\/strong><\/a>. Administrators must ensure their users possess appropriate permissions to prevent unwarranted access to sensitive data, while AEM allows granular control over privileges through structured security configurations.<\/p>\n<p>Setting up user roles effectively involves taking an organized, hierarchical approach by assigning permissions based on responsibility.<\/p>\n<p>Doing this prevents unnecessary access while empowering individuals to complete their specific tasks efficiently.<\/p>\n<p>System users in AEM play an invaluable part in automating workflows.<\/p>\n<p>System users do not need passwords to access their repository, so developers can execute background processes without disclosing credentials.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_System_User_Privileges\"><\/span><strong>Understanding AEM System User Privileges<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Managed user privileges in AEM are crucial to ensure security and optimal functionality, so system users with specific permissions rather than an unrestricted administrator account have been implemented to achieve maximum protection and usability.<\/p>\n<p>Before AEM implemented system users, modifications within AEM required administrator privileges; if an intruder gained entry and attempted to make modifications themselves, this created a security risk.<\/p>\n<p>They could execute malicious code and threaten the entirety.<\/p>\n<p>System users have complete control of permissions, only permitting actions they deem essential for system use.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-User-Privileges.png\" alt=\"AEM Training\" width=\"800\" height=\"2783\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_Role_of_AEM_System_Users\"><\/span><strong>The Role of AEM System Users<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Users in an AEM system are designed to perform predefined operations while only having access to required functionalities.<\/p>\n<p>For instance, when making code modifications are necessary, we grant permission specifically for that process rather than giving access without restrictions or permission limits.<\/p>\n<p>Take, for instance, an external API\u00a0that needs its data stored within AEM.<\/p>\n<p>Only specific hierarchies are accessible, allowing access for storage purposes and ensuring security without risking further exposure of more sensitive areas.<\/p>\n<p>When assigned as the system user to handle this task, they would only have access to those hierarchies necessary in AEM and would not be exposed to other sensitive areas.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#064399&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#0095f2&#8243; background_color_gradient_end=&#8221;#7dbed8&#8243; background_color_gradient_direction=&#8221;92deg&#8221; background_color_gradient_start_position=&#8221;35%&#8221; background_color_gradient_end_position=&#8221;80%&#8221; transform_scale=&#8221;73%|62%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;-53px|-50px&#8221; transform_translate_linked=&#8221;off&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2023\/06\/SS_436-_Converted_-1.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_scale=&#8221;114%|112%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;25px|-4px&#8221; transform_translate_linked=&#8221;off&#8221; width=&#8221;98.1%&#8221; custom_margin=&#8221;|7px|||false|false&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Georgia|700|||||||&#8221; text_font_size=&#8221;23px&#8221; text_line_height=&#8221;1.3em&#8221; header_font=&#8221;Georgia|700|||||||&#8221; header_font_size=&#8221;21px&#8221; header_letter_spacing=&#8221;-1px&#8221; header_line_height=&#8221;2em&#8221; transform_scale=&#8221;171%|159%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;40px|44px&#8221; transform_translate_linked=&#8221;off&#8221; transform_origin=&#8221;70%|50%&#8221; z_index=&#8221;-161&#8243; width=&#8221;100%&#8221; custom_margin=&#8221;|-215px||||&#8221; custom_padding=&#8221;|0px||||&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;]<\/p>\n<h1 style=\"text-align: center;\"><span style=\"color: #ffffff;\">AEM Training<\/span><\/h1>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Explore Course Content&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#0C71C3&#8243; button_bg_color=&#8221;#FFFFFF&#8221; button_font=&#8221;|700|||||||&#8221; transform_translate=&#8221;64px|65px&#8221; transform_translate_linked=&#8221;off&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2019\/06\/logo_resize_color.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_translate=&#8221;-36px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;|||178px||&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Configuring_AEM_System_Users\"><\/span><strong>Configuring AEM System Users<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Setting up an AEM system user involves assigning permissions within the system console.<\/p>\n<p>By default, anonymous users possess limited privileges that restrict their changes; to create an effective system user, we assign specific privileges and identify packages where this user will reside.<\/p>\n<p>So, the user stays within safe boundaries, decreasing security risks.<br \/><video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-User-Setup.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Mapping_System_Users_in_AEM\"><\/span><strong>Mapping System Users in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Once a system user is created in AEM, they should be assigned appropriate packages, as their AEM mapping indicates which packages the new user may utilise.<\/p>\n<p>Without this step, their effectiveness remains limited and cannot be fully utilized.<\/p>\n<p>Administrators use AEM&#8217;s system console to configure mappings between users and packages. Each package mapping specifies what permissions will be granted for controlled execution.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_User_Ranking\"><\/span><strong>Understanding AEM User Ranking<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Where several packages share similar mappings, AEM establishes precedence using rankings. Higher-ranking mappings take precedence for accurate privilege assignment.<\/p>\n<p>Administrators must configure AEM with suitable ranking settings to avoid conflicts, ensure <a href=\"https:\/\/cloudfoundation.com\/blog\/ping-federate-interview-questions-and-answers\" target=\"_blank\" rel=\"noopener\"><strong>secure operation<\/strong><\/a> while permitting necessary functionalities, and prevent disputes among its components.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Security.png\" alt=\"AEM Training\" width=\"800\" height=\"879\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"AEM_Security_Best_Practices\"><\/span><strong>AEM Security Best Practices<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Security in AEM emphasises restricting access and managing system user privileges rather than giving out unnecessary permissions.<\/p>\n<p>We ensure system users receive only what is necessary.<\/p>\n<p>By following AEM best practices for privilege management, we create a safe and well-structured environment while mitigating risks associated with unauthorised access and code execution.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Sling_Model\"><\/span><strong>Understanding AEM Sling Model<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Leveraging the Sling Model as a POJO can drastically simplify backend integration when working with AEM.<\/p>\n<p>Utilising this POJO allows automatic value injection from dialogues directly into Java classes for better backend integration.<\/p>\n<p>Instead of manually retrieving dialogue inputs, AEM handles injection, making development faster while decreasing boilerplate code.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Sling-Model.png\" alt=\"AEM Training\" width=\"800\" height=\"2424\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Setting_Up_AEM_Sling_Model\"><\/span><strong>Setting Up AEM Sling Model<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Annotating our Java class with @Model will create an AEM Sling Model and ensure it seamlessly incorporates <a href=\"https:\/\/cloudfoundation.com\/blog\/adobe-marketing-cloud-interview-questions-and-answers\" target=\"_blank\" rel=\"noopener\"><strong>resource values from AEM<\/strong><\/a> into our Java class.<\/p>\n<p>Under @Inject, properties such as first and last names can be automatically pulled from a resource, eliminating the need for manual property mapping.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Injecting_Properties_in_AEM\"><\/span><strong>Injecting Properties in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Property injection in AEM Sling Models can be accomplished easily using @Inject, making values from resources easily accessible for\u00a0purposes.<\/p>\n<p>Where properties differ significantly in name,\u00a0 <strong><a href=\"https:\/\/cloudfoundation.com\/aem-online-course-training\" target=\"_blank\" rel=\"noopener\">AEM offers developers<\/a><\/strong> a solution with its @Named annotation that ensures proper mapping for custom naming conventions while taking full advantage of AEM&#8217;s automatic injection mechanism.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Optional_Property_Injection_in_AEM\"><\/span><strong>Optional Property Injection in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM allows flexibility when injecting properties. If a property is optional, annotating it with &#8220;@Optional&#8221; prevents errors from occurring if specific values in a resource do not match expectations, providing smooth execution even in case certain values are missing from resources.<br \/><video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Property-Injection.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><br \/>AEM Sling Models&#8217; adaptability enables them to handle diverse content structures efficiently without forcing rigid dependencies upon them.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Calling_AEM_Sling_Model_in_Slightly\"><\/span><strong>Calling AEM Sling Model in Slightly<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Integration of AEM Sling Models in Sightly involves initiating instances of Java classes using the data-sly-use attribute.<\/p>\n<p>This enables developers to retrieve values and dynamically display them directly within templates.<\/p>\n<p>At each instance of data-sly-use, an entirely new object is instantiated for optimal data retrieval within AEM environments.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#064399&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#ff8c7c&#8221; background_color_gradient_end=&#8221;#e5ba4e&#8221; background_color_gradient_type=&#8221;radial&#8221; background_color_gradient_direction_radial=&#8221;top left&#8221; background_color_gradient_start_position=&#8221;35%&#8221; background_color_gradient_end_position=&#8221;80%&#8221; transform_scale=&#8221;74%|69%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;-53px|-50px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;||-5px||false|false&#8221; custom_padding=&#8221;|||2px|false|false&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2023\/06\/8423118_3895895.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; width=&#8221;85.4%&#8221; custom_margin=&#8221;-31px||-24px||false|false&#8221; custom_padding=&#8221;|22px|0px||false|false&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Georgia|700|||||||&#8221; text_font_size=&#8221;23px&#8221; text_line_height=&#8221;1.3em&#8221; header_font=&#8221;Georgia|700|||||||&#8221; header_font_size=&#8221;19px&#8221; header_letter_spacing=&#8221;-1px&#8221; header_line_height=&#8221;1.2em&#8221; transform_scale=&#8221;171%|159%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;40px|44px&#8221; transform_translate_linked=&#8221;off&#8221; transform_origin=&#8221;70%|50%&#8221; z_index=&#8221;-161&#8243; width=&#8221;100%&#8221; custom_margin=&#8221;|-215px||||&#8221; custom_padding=&#8221;|0px||||&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/&#8221; link_option_url_new_window=&#8221;on&#8221;]<\/p>\n<h1 style=\"text-align: center;\"><strong>AEM Online <\/strong>Training<\/h1>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Up Coming Batches&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#E09900&#8243; button_bg_color=&#8221;#FFFFFF&#8221; button_font=&#8221;|700|||||||&#8221; transform_translate=&#8221;64px|65px&#8221; transform_translate_linked=&#8221;off&#8221; background_layout=&#8221;dark&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2019\/06\/logo_resize_color.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_translate=&#8221;-36px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;|||178px||&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Accessing_Properties_in_AEM_Sling_Model\"><\/span><strong>Accessing Properties in AEM Sling Model<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Developers find retrieving values from an AEM Sling Model easy. They can easily access injected properties using getter methods.<\/p>\n<p>Private variables in AEM models require accessing getter methods through Sightly templates for data retrieval to remain structured and orderly.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Models-1.png\" alt=\"AEM Training\" width=\"800\" height=\"1066\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Using_AEM_for_Enhanced_Development\"><\/span><strong>Using AEM for Enhanced Development<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Handling optional properties becomes even more crucial when managing multiple fields in an AEM project.<\/p>\n<p>AEM allows you to streamline this process by setting a default strategy, eliminating tedious annotation tasks for every field in the database.<\/p>\n<p>This approach simplifies your work and ensures properties behave according to expectation, whether their values exist.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Streamlining_Deployment_with_AEM\"><\/span><strong>Streamlining Deployment with AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM makes managing and Streamlining Deployment\u00a0straightforward. Created a sample project in AEM, packaged it, and deployed it seamlessly.<\/p>\n<p>AEM makes creating packages easy: unzip them directly from AEM and put them into your local environment for deployment.<\/p>\n<p>Intellij plugins may add value by seamlessly connecting the AEM server with local hardware, saving time and effort.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"AEM_Sling_Models_and_Services\"><\/span><strong>AEM Sling Models and Services<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sling models in AEM link your frontend components and backend services, so inject values into them using annotations; AEM provides an elegant solution.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/Optimizing-AEM-Deployment.png\" alt=\"AEM Training\" width=\"800\" height=\"2990\" \/><\/p>\n<p>Sling models in AEM provide an abstraction layer to facilitate smooth interactions between Sightly templates and backend services.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_AEM_is_Perfect_for_Component_Development\"><\/span><strong>Why AEM is Perfect for Component Development<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM excels at connecting data from sling models to components through data sources or backend services, ensuring that values populate correctly in AEM.<\/p>\n<p>AEM provides unparalleled flexibility when designing and developing components. I love its sling models for efficiently injecting values while still creating clean code that can be reused by others.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Sling_Services_in_AEM\"><\/span><strong>Sling Services in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Business logic is at the core of every AEM project, and I often utilise Sling Services to manage complex operations.<\/p>\n<p>While Sling Models in AEM provide excellent ways of injecting values, they might not be suitable for heavy business logic implementation.<\/p>\n<p>AEM encourages clear delineation between concerns, with Sling Services managing\u00a0HTTP calls, data processing tasks and any other complex operations within its environment.<\/p>\n<p>This structured approach to AEM ensures its scalability and maintainability.<br \/><video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Best-Practices.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Customizing_AEM_Deployments\"><\/span><strong>Customizing AEM Deployments<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Customising AEM deployments is another area where AEM shines. After I deployed code into one project page, real-time updates immediately appeared on that page, speeding up development cycles overall.<\/p>\n<p>AEM ensures your components reflect these latest changes instantly, making development cycles more effective overall.<\/p>\n<p>Through Sling Models and services in AEM, it&#8217;s easier than ever to structure code efficiently to fit any requirement.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"AEM_Sling_Model_and_Services\"><\/span><strong>AEM Sling Model and Services<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>When working with AEM, always rely on your Sling Model as an intermediate layer between Sightly code and Sling Services to unlock its full potential.<\/p>\n<p>Sling Services allow for writing all business logic that unlocks AEM&#8217;s true power.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Services.png\" alt=\"AEM Training\" width=\"800\" height=\"1070\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Creating_AEM_Services\"><\/span><strong>Creating AEM Services<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Experience the simplicity and elegance of creating an AEM service using simple steps: create a new folder\/file named SimpleService.<\/p>\n<p>Then, using the @Component annotation alone, this Java class is almost magically transformed into an AEM service.<\/p>\n<p>Use this annotation to assign &#8220;service&#8221; equal to its name. Then, begin creating singleton patterns by having one object created at either server startup or when first calling out your service.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_AEM_Sling_Services_Are_Essential\"><\/span><strong>Why AEM Sling Services Are Essential<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM Sling Services provides relief by managing complex business logic, connecting to third parties, and processing database calls without creating redundant objects, perfect for optimal performance.<\/p>\n<p>Utilizing AEM services allows for effortless connections to utility methods and exceptional results in AEM projects, making the platform truly enjoyable to work with.<\/p>\n<p>This makes AEM such a pleasure.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Optimizing_AEM_Service_Instances\"><\/span><strong>Optimizing AEM Service Instances<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM allows me to control when service objects are created. If I want them created at server startup, using an immediate value ensures they will always be ready when required.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM-Sling-Essentials.png\" alt=\"AEM Training\" width=\"800\" height=\"2424\" \/><\/p>\n<p>By placing service objects into its service registry, AEM ensures I can quickly refer to them &#8211; another distinguishing characteristic.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Calling_AEM_Services_from_Sling_Models\"><\/span><strong>Calling AEM Services from Sling Models<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>To call services within my Sling Models, I use annotations like @Inject or @OSGiService; these tools ensure AEM finds and creates existing service objects automatically or creates them if required, providing efficient user experiences while remaining user-friendly.<\/p>\n<p>My background allows me to develop impactful projects without unnecessary complexities.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#064399&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#494fff&#8221; background_color_gradient_end=&#8221;#9ea6ff&#8221; background_color_gradient_type=&#8221;radial&#8221; background_color_gradient_direction_radial=&#8221;top left&#8221; background_color_gradient_start_position=&#8221;35%&#8221; background_color_gradient_end_position=&#8221;80%&#8221; transform_scale=&#8221;74%|71%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;-53px|-50px&#8221; transform_translate_linked=&#8221;off&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2023\/06\/Untitled-11.png&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_scale=&#8221;103%|103%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;11px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_padding=&#8221;|88px||||&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Georgia|700|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;23px&#8221; text_line_height=&#8221;1.3em&#8221; header_font=&#8221;Georgia|700|||||||&#8221; header_font_size=&#8221;19px&#8221; header_letter_spacing=&#8221;-1px&#8221; header_line_height=&#8221;1.2em&#8221; transform_scale=&#8221;171%|159%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;40px|44px&#8221; transform_translate_linked=&#8221;off&#8221; transform_origin=&#8221;70%|50%&#8221; z_index=&#8221;-161&#8243; width=&#8221;100%&#8221; custom_margin=&#8221;|-215px||||&#8221; custom_padding=&#8221;|0px||||&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;]<\/p>\n<h1 style=\"text-align: center;\"><span style=\"color: #ffffff;\"><strong>AEM Course Price<\/strong><\/span><\/h1>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Offer Price&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#0C71C3&#8243; button_bg_color=&#8221;#FFFFFF&#8221; button_font=&#8221;|700|||||||&#8221; transform_translate=&#8221;64px|65px&#8221; transform_translate_linked=&#8221;off&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2019\/06\/logo_resize_color.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_translate=&#8221;-36px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;|||178px||&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_team_member name=&#8221;Sai Susmitha&#8221; position=&#8221;Author&#8221; image_url=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/03\/Sai-Susmitha.png&#8221; _builder_version=&#8221;4.9.7&#8243; header_level=&#8221;h5&#8243; header_font=&#8221;Titillium Web|700|||||||&#8221; body_font=&#8221;Titillium Web||||||||&#8221; body_font_size=&#8221;16&#8243;]<\/p>\n<p id=\"posted-message-container\" class=\"zcmsgcnt textL\" dir=\"auto\">The Journey of Personal Development is a Continuous path of learning and growth<\/p>\n<p>[\/et_pb_team_member][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;] Understanding AEM Replication and Distribution AEM [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":98260,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"2880","footnotes":""},"categories":[209],"tags":[],"class_list":{"0":"post-98259","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-adobe"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AEM User Management | AEM Sling Model<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AEM User Management | AEM Sling Model\" \/>\n<meta property=\"og:description\" content=\"[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;] Understanding AEM Replication and Distribution AEM [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/\" \/>\n<meta property=\"og:site_name\" content=\"CloudFoundation | Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-30T11:13:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-01T10:22:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM8-FI.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"333\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"NAGENDRAG\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"NAGENDRAG\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AEM User Management | AEM Sling Model","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/","og_locale":"en_US","og_type":"article","og_title":"AEM User Management | AEM Sling Model","og_description":"[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; sticky_enabled=&#8221;0&#8243;] Understanding AEM Replication and Distribution AEM [&hellip;]","og_url":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/","og_site_name":"CloudFoundation | Blog","article_published_time":"2025-04-30T11:13:40+00:00","article_modified_time":"2025-05-01T10:22:49+00:00","og_image":[{"width":500,"height":333,"url":"http:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM8-FI.jpg","type":"image\/jpeg"}],"author":"NAGENDRAG","twitter_card":"summary_large_image","twitter_misc":{"Written by":"NAGENDRAG","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/","url":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/","name":"AEM User Management | AEM Sling Model","isPartOf":{"@id":"https:\/\/cloudfoundation.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#primaryimage"},"image":{"@id":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#primaryimage"},"thumbnailUrl":"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM8-FI.jpg","datePublished":"2025-04-30T11:13:40+00:00","dateModified":"2025-05-01T10:22:49+00:00","author":{"@id":"https:\/\/cloudfoundation.com\/blog\/#\/schema\/person\/df6c7eba98f1bb15f2a100a9958266e4"},"breadcrumb":{"@id":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#primaryimage","url":"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM8-FI.jpg","contentUrl":"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/04\/AEM8-FI.jpg","width":500,"height":333,"caption":"AEM Training"},{"@type":"BreadcrumbList","@id":"https:\/\/cloudfoundation.com\/blog\/aem-user-management-aem-sling-model\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudfoundation.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AEM User Management | AEM Sling Model"}]},{"@type":"WebSite","@id":"https:\/\/cloudfoundation.com\/blog\/#website","url":"https:\/\/cloudfoundation.com\/blog\/","name":"CloudFoundation | Blog","description":"A New way of Learning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudfoundation.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/cloudfoundation.com\/blog\/#\/schema\/person\/df6c7eba98f1bb15f2a100a9958266e4","name":"NAGENDRAG","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudfoundation.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/09e08ba1102807a876f2c00245d6b955f0a9f027b40c181e9cee0cd2d927f84a?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09e08ba1102807a876f2c00245d6b955f0a9f027b40c181e9cee0cd2d927f84a?s=96&d=wavatar&r=g","caption":"NAGENDRAG"},"url":"https:\/\/cloudfoundation.com\/blog\/author\/nagendrag\/"}]}},"_links":{"self":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts\/98259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/comments?post=98259"}],"version-history":[{"count":13,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts\/98259\/revisions"}],"predecessor-version":[{"id":98488,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts\/98259\/revisions\/98488"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/media\/98260"}],"wp:attachment":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/media?parent=98259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/categories?post=98259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/tags?post=98259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}