{"id":19322,"date":"2015-05-04T14:56:45","date_gmt":"2015-05-04T09:26:45","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=19322"},"modified":"2015-06-04T17:13:55","modified_gmt":"2015-06-04T11:43:55","slug":"creating-user-profile-in-aem","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/creating-user-profile-in-aem\/","title":{"rendered":"Creating User Profile in AEM"},"content":{"rendered":"<p><span style=\"font-size: large\">Hello everyone,<\/span><\/p>\n<p><span style=\"font-size: large\">In this blog, we will be focusing on how to create a user and\u00a0user profiles in AEM. \u00a0It is generally needed when we create\u00a0login and signup forms. <\/span><\/p>\n<p><span style=\"font-size: large\">Depending on the use case, users can be created using:<\/span><\/p>\n<p><span style=\"font-size: large\"> i) In the UserManager API ,we can create a user, password under a specific group and provide permissions to them. <\/span><\/p>\n<p><span style=\"font-size: large\">Sample code for UserManager API<\/span><\/p>\n<p>[java]<br \/>\nResourceResolver resolver=request.getResourceResolver();<br \/>\nSession session=request.getResourceResolver().adaptTo(Session.class);<br \/>\nUserManager userManager = resolver.adaptTo(UserManager.class);<br \/>\nGroup group=userManager.createGroup(&quot; Group Name&quot;);<br \/>\nUser user=userManager.createUser(&quot;username&quot;,\u201dpwd\u201d);<br \/>\nif (! userManager.isAutoSave()) {<br \/>\n  session.save();<br \/>\n}<br \/>\n[\/java]<\/p>\n<p><span style=\"font-size: large\">ii) The other case is when you have to create a profile for user like username, password, group, email, address, contact etc. For this purpose AccountManager API can be used.<\/span><\/p>\n<p><span style=\"font-size: large\">Sample Code for AccountManager API:<\/span><code><br \/>\n<\/code><\/p>\n<p>[java]<br \/>\nAccountManagerFactory accountManagerFactory;<br \/>\n@Reference<br \/>\nprivate ResourceResolverFactory resolverFactory;<br \/>\n@Override<br \/>\nMap&lt;String, Object&gt; serviceParams = new HashMap&lt;String, Object&gt;();<br \/>\nserviceParams.put(SUBSERVICE, &quot;signUpService&quot;);<br \/>\nResourceResolverresolver=resolverFactory.getServiceResourceResolver(serviceParams)<br \/>\nSession session = resolver.adaptTo(Session.class);<br \/>\nAccountManager accountManager = accountManagerFactory.createAccountManager(session);<br \/>\nMap&lt;String,RequestParameter[]&gt; profilemap = new HashMap&lt;&gt;();<br \/>\naccountManager.getOrCreateAccount(\u201cuserName\u201d, \u201cpassword\u201d, &quot;admin&quot;, profilemap);<\/p>\n<p>[\/java]<\/p>\n<p>The Map can be populated in two ways:<\/p>\n<p><span style=\"font-size: large\">a) If the value of the profile property is coming from form <\/span><br \/>\n<code><br \/>\n<\/code><\/p>\n<p>[java] profilemap.put(&quot;email&quot;, request.getRequestParameters(&quot;email&quot;)); [\/java]<\/p>\n<p>\/\/like email we can add additional attributes in profile<\/p>\n<p><span style=\"font-size: large\">b) If the property is not in RequestParameters then&#8212;&#8211;<\/span><br \/>\n<code><br \/>\n<\/code><\/p>\n<p>[java] String email=\u201dshivanig@intelligrape.com\u201d;<br \/>\nprofilemap.put(\u201cemail\u201d,new RequestParameter[]{new Parameters(email) }); [\/java]<\/p>\n<p>\/\/Create a POJO class to set values of additional attribute&#8212;-<br \/>\n<code><br \/>\n<\/code><\/p>\n<p>[java]final class Parameters implements RequestParameter {<br \/>\nprivate final String parameter;<br \/>\nprivate Parameters(String parameter)<br \/>\n  {<br \/>\n     this.parameter = parameter;<br \/>\n  }}<br \/>\n[\/java]<\/p>\n<p><code>\u00a0 <\/code><\/p>\n<p>If you want to see your created Users,Go to Crxde , \/home\/Users &#8230;&#8230;..You can see your users and profiles also.<\/p>\n<p><a href=\"\/blog\/wp-ttn-blog\/uploads\/2015\/05\/blog.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-19408\" src=\"\/blog\/wp-ttn-blog\/uploads\/2015\/05\/blog.png\" alt=\"blog\" width=\"930\" height=\"250\" \/><\/a><br \/>\nSo here you see how you can create users in AEM and create profiles for them.<\/p>\n<p>Regards: Shivani Garg<!--more--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello everyone, In this blog, we will be focusing on how to create a user and\u00a0user profiles in AEM. \u00a0It is generally needed when we create\u00a0login and signup forms. Depending on the use case, users can be created using: i) In the UserManager API ,we can create a user, password under a specific group and [&hellip;]<\/p>\n","protected":false},"author":190,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":44},"categories":[1],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/19322"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=19322"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/19322\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=19322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=19322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=19322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}