How to get session inside slingmodel

dipu2

28-07-2020

Dear All,

 

I have one requirement like below. When Author will put the SKU Id in dialog , as shown in below,

dipu2_0-1595957871572.png

 

After author will put the SKU Id (for example 12345) , then this ID will search in content/dam/site/skuid folder and the document where this sku id is attached will come as link .

 

I am trying to do this logic inside

@PostConstruct
private void initModel() throws Exception {

 

But , I am not getting any session "or" resource inside  initModel().

 

Can anybody tell me how can I achieve the above scenario ?

Accepted Solutions (1)

Accepted Solutions (1)

Nupur_Jain

MVP

28-07-2020

Hi @dipu2 

 

In order to get session,

  • you can first get ResourceResolver object with 
    @SlingObject
    private ResourceResolver resourceResolver;

  • Then in initModel() method, you can adapt it to session like
    Session session =resourceResolver.adaptTo(Session.class);

In order to get resource, you can use
@SlingObject
private Resource resource;

 

Hope it helps!

Thanks!

Nupur

Answers (2)

Answers (2)

BrianKasingli

MVP

28-07-2020

@dipu2,

It might be possible to get the session from the current session of the current request, but the session obtained may not have the correct permissions to the path: content/damsite/skuid. If the session have no permission to the content path, then you can get a content not found an exception. Also, Sling Models should be lightweight and should have minimal logic. Your requirement seems like there might be mid-weight logic that can be re-usable. This would be a great time to create an OSGIService & Service Users.

Implementation Idea:

I hope this helps,

Brian.