On Tue, Jul 22, 2014 at 4:30 PM, Dilini Muthumala <[email protected]> wrote:

> Hi Sagara,
>
> Thanks a lot for the informative reply.
>
> On Tue, Jul 22, 2014 at 8:22 PM, Sagara Gunathunga <[email protected]>
> wrote:
>
>>  As we discussed offline you need to modify onOpen() method to receive
>> tenant id from an initial handshake request, then within the onOpen method
>> you have to write logic similar to 
>> CarbonContextCreatorValve#initCarbonContext()
>> method.
>>
>
> Alternatively, how about reading the tenant domain from the path parameter
> (i.e. without using PrivilegedCarbonContext), as shown below?
>
>     @OnOpen
>     public void onOpen (Session session, @PathParam("topic") String topic,
> @PathParam("tdomain") String tdomain) {
>     }
>
>     @OnMessage
>     public void onMessage (Session session, String message,
> @PathParam("topic") String topic, @PathParam("tdomain") String tdomain) {
>         websocketInputService.invokeListener(tdomain, topic, message);
>     }
>
>
-1. This would create a security loop hole.

If your webapp needs to work across all the tenants, then you might need to
make it a SaaS app. This would be pretty much similar to API publisher.



> Thanks,
> Dilini
>
>>
>>
>> Thanks !
>>
>> On Tue, Jul 22, 2014 at 7:18 PM, Dilini Muthumala <[email protected]>
>> wrote:
>>
>>> FYI, this is the end point trying to get the tenant id:
>>>
>>> import javax.websocket.*;
>>> import org.wso2.carbon.context.PrivilegedCarbonContext;
>>> import
>>> org.wso2.carbon.event.input.adaptor.websocket.WebsocketInputService;
>>>
>>> @ServerEndpoint(value = "/{topic}")
>>> public class DataReceivingEndpoint {
>>>
>>>     private static WebsocketInputService websocketInputService;
>>>     private static int tenantId;
>>>
>>>     public DataReceivingEndpoint() {
>>>         websocketInputService = (WebsocketInputService)
>>> PrivilegedCarbonContext.getThreadLocalCarbonContext()
>>>                 .getOSGiService(WebsocketInputService.class);
>>>     }
>>>
>>>     @OnOpen
>>>     public void onOpen (Session session, @PathParam("topic") String
>>> topic) {
>>>     }
>>>
>>>     @OnMessage
>>>     public void onMessage (Session session, String message,
>>> @PathParam("topic") String topic) {
>>>         tenantId =
>>> PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); //
>>> returned -1
>>>         websocketInputService.invokeListener(tenantId, topic, message);
>>>     }
>>>
>>>     @OnClose
>>>     public void onClose (Session session, CloseReason reason) {
>>>     }
>>>
>>>     @OnError
>>>     public void onError (Session session) {
>>>     }
>>> }
>>>
>>>
>>> On Tue, Jul 22, 2014 at 5:58 PM, Dilini Muthumala <[email protected]>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Had an offline discussion with Sameera, Sagara and Chamil regarding
>>>> this.
>>>>
>>>> The most important piece of info is missing in my initial mail, which
>>>> is, this web app contains a web-socket end point.
>>>>
>>>> That must be the reason why all these usual methods are not working.
>>>>
>>>> Thanks,
>>>> Dilini
>>>>
>>>>
>>>> On Tue, Jul 22, 2014 at 5:45 PM, Kasun Gajasinghe <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Dilini,
>>>>>
>>>>> What's the product you are trying this in? Can you open up
>>>>> CARBON_HOME/repository/conf/tomcat/catalina-server.xml, and make sure that
>>>>> it has the following valve defined?
>>>>>
>>>>>       <Valve
>>>>> className="org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve"/>
>>>>>
>>>>> The reported jira that is mentioned above is an issue with logging.
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Jul 22, 2014 at 4:58 AM, Asanka Dissanayake <[email protected]>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Jul 22, 2014 at 5:23 PM, Asanka Dissanayake <[email protected]
>>>>>> > wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Jul 22, 2014 at 5:03 PM, Gayashan Amarasinghe <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Dilini,
>>>>>>>>
>>>>>>>> Did you deploy the web app as super tenant or a tenant? What are
>>>>>>>> the server versions you used?
>>>>>>>>
>>>>>>>> Method you have used is the proper way to access the tenant Id.
>>>>>>>>
>>>>>>> AFAIK you shouldn't use PrivilegedCarbonContext to read information.
>>>>>>> It is used to write stuffs to the carbon context.
>>>>>>>
>>>>>> For more information:
>>>>>>
>>>>>> PrivilegedCarbonContext
>>>>>>
>>>>>> PrivilegedCarbonContext is a special subclass of CarbonContext,
>>>>>> which allows you to perform privileged operations such as, setting the
>>>>>> tenant ID and domain, starting or ending tenant flows and more. This 
>>>>>> class
>>>>>> can only be used by Carbon components that have the permission to get 
>>>>>> hold
>>>>>> of an instance of the PrivilegedCarbonContext.
>>>>>>
>>>>>>
>>>>>> CarbonContext
>>>>>> The CarbonContext is designed for normal tenants to retrieve
>>>>>> information from the Carbon runtime. In the super tenant mode, for this 
>>>>>> to
>>>>>> work the relevant data has to be set so that tenants can retrieve
>>>>>> information using the CarbonContext.
>>>>>>
>>>>>>>  However as Malintha has mentioned, there are some bugs when
>>>>>>>> certain super-tenant related tasks are logged, which has not been 
>>>>>>>> observed
>>>>>>>> for tenant-wise tasks. This bug will be fixed with 4.3 release.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> /Gayashan
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jul 22, 2014 at 3:29 PM, Dilini Muthumala <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>  Hi,
>>>>>>>>>
>>>>>>>>> Would like to know, how to $subject.
>>>>>>>>>
>>>>>>>>> I tired with,
>>>>>>>>>
>>>>>>>>> PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
>>>>>>>>>
>>>>>>>>> which returned -1, as the tenant id.
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Dilini
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Dilini Muthumala*
>>>>>>>>> Software Engineer,
>>>>>>>>> WSO2 Inc.
>>>>>>>>>
>>>>>>>>> *E-mail :* [email protected]
>>>>>>>>> *Mobile: *+94713 400 029
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Dev mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Gayashan Amarasinghe*
>>>>>>>> Software Engineer | Platform TG
>>>>>>>> WSO2, Inc. | http://wso2.com
>>>>>>>> lean. enterprise. middleware
>>>>>>>>
>>>>>>>> Mobile : +94718314517
>>>>>>>> Blog : gayashan-a.blogspot.com
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> [email protected]
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>>
>>>>>>> *Asanka DissanayakeSoftware Engineer*
>>>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>>>> <http://wso2.com/>*
>>>>>>>
>>>>>>> *email: [email protected] <[email protected]>,   blog:
>>>>>>> cyberwaadiya.blogspot.com
>>>>>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
>>>>>>> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>> *Asanka DissanayakeSoftware Engineer*
>>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>>> <http://wso2.com/>*
>>>>>>
>>>>>> *email: [email protected] <[email protected]>,   blog:
>>>>>> cyberwaadiya.blogspot.com
>>>>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
>>>>>> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> [email protected]
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
>>>>> email: kasung AT spamfree wso2.com
>>>>> linked-in: http://lk.linkedin.com/in/gajasinghe
>>>>> blog: http://kasunbg.org
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Dilini Muthumala*
>>>> Software Engineer,
>>>> WSO2 Inc.
>>>>
>>>> *E-mail :* [email protected]
>>>> *Mobile: *+94713 400 029
>>>>
>>>
>>>
>>>
>>> --
>>> *Dilini Muthumala*
>>> Software Engineer,
>>> WSO2 Inc.
>>>
>>> *E-mail :* [email protected]
>>> *Mobile: *+94713 400 029
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Sagara Gunathunga
>>
>> Senior Technical Lead; WSO2, Inc.;  http://wso2.com
>> V.P Apache Web Services;    http://ws.apache.org/
>> Linkedin; http://www.linkedin.com/in/ssagara
>> Blog ;  http://ssagara.blogspot.com
>>
>>
>
>
> --
> *Dilini Muthumala*
> Software Engineer,
> WSO2 Inc.
>
> *E-mail :* [email protected]
> *Mobile: *+94713 400 029
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

*Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
email: kasung AT spamfree wso2.com
linked-in: http://lk.linkedin.com/in/gajasinghe
blog: http://kasunbg.org
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to