Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

ProfileManager is deprecated in AEM6.3

snehag07
Level 2
Level 2

Hi,

AS per release notes of AEM 6.3, com.day.cq.security.profile.ProfileManager API is deprecated in this version.

Could you please tell me replacement for this or any other way of getting profile?

1 Accepted Solution
Feike_Visser1
Correct answer by
Employee
Employee

Start by using apis from org.apache.jackrabbit.api.security

View solution in original post

0 Replies
smacdonald2008
Level 10
Level 10

This could be a doc bug. Typically if an API is depricated - the API reference will inform you what API to use.

This API is still used in AEM 6.3 - see:

Dep.png

snehag07
Level 2
Level 2

but I am getting following exception

23.08.2017 14:44:05.036 *ERROR* [10.75.37.198 [1503479645027] GET /apps/logincomponents/components/loader.json HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught SlingException

java.lang.UnsupportedOperationException: No longer supported (ProfileManager#getProfile(String,String)).

        at com.day.cq.security.impl.CQUserManagerFactoryImpl.getProfile(CQUserManagerFactoryImpl.java:99)

        at org.apache.jsp.apps.logincomponents.components.personnalization.loader.json_jsp._jspService(json_jsp.java:203)

        at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)

        at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:502)

        at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:449)

        at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:346)

        at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$100(JspScriptEngineFactory.java:101)

        at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:607)

        at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:388)

        at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:184)

        at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:491)

        at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552)

        at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)

        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77)

        at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:156)

        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

        at com.day.cq.wcm.core.impl.WCMComponentFilter.filterRootInclude(WCMComponentFilter.java:375)

        at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:190)

        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

        at com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)

        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

Feike_Visser1
Correct answer by
Employee
Employee

Start by using apis from org.apache.jackrabbit.api.security

View solution in original post

johnnyd26246076
Level 2
Level 2

We had similar exception:

Caused by: java.lang.UnsupportedOperationException: No longer supported (UserResolver#resolveUser(Session)).

at com.day.cq.security.impl.CQUserManagerFactoryImpl.resolveUser(CQUserManagerFactoryImpl.java:73)

at com.day.cq.security.impl.SecurityAdapterFactory.getAdapter(SecurityAdapterFactory.java:151)

at org.apache.sling.adapter.internal.AdapterManagerImpl.getAdapter(AdapterManagerImpl.java:147)

at org.apache.sling.api.adapter.SlingAdaptable.adaptTo(SlingAdaptable.java:104)

at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.adaptTo(ResourceResolverImpl.java:815)

and resolved it by migrating to org.apache.jackrabbit.api.security

Anselm_H_
Level 2
Level 2

I prefer this below, because it is possible to get the available properties from UserProperties and API can tell us if it will be deprecated in future again:

        UserProperties up = request.adaptTo(UserProperties.class);

        up.getProperty(UserProperties.EMAIL);