BTW this conversation should be on stratos-dev not carbon-dev :).

Thilina the issue with making a remote call is that then we need to secure
that call ...

Sanjiva.

On Sat, Jan 22, 2011 at 8:12 PM, Thilina Buddhika <[email protected]> wrote:

> So a solution might be a remote API to get the tenantId by passing the
> fully qualified username or the tenant domain.
>
> Thanks,
> Thilina
>
>
> On Sat, Jan 22, 2011 at 7:50 PM, Indika Kumara <[email protected]> wrote:
>
>> There are two ways for deploying the Cassandra as a service - embedded and
>> separate.  It is like using an embedded database vs databse network server.
>>
>> For the embedded case, we have to start the Cassandra with in a carbon
>> component accessing the server API of the Cassandra. For the separate server
>> case, we have to connect to the Cassandra from its client API. In the latter
>> case, the code does the authentication does not have access to the
>> 'CarbonContext'. It is like to connecting to a remote multi tenant database
>> from a local application.
>> We decided to the latter case as the POC.
>>
>> Thanks,
>>
>> Indika
>>
>>
>> On Sat, Jan 22, 2011 at 8:08 PM, Thilina Buddhika <[email protected]>wrote:
>>
>>> As Paul mentioned tenantId is exposed through the CarbonContext. So if
>>> these Cassendra API calls are originated from Stratos, then it is possible
>>> to get the tenantId.
>>>
>>> I was mislead thinking that there should be a WS-API which exposes this
>>> tenantID, which is not available currently.
>>>
>>> Thanks,
>>> Thilina
>>>
>>>
>>> On Sat, Jan 22, 2011 at 6:52 PM, Sanjiva Weerawarana 
>>> <[email protected]>wrote:
>>>
>>>> Thilina since this is "internal Stratos code" why can't we expose the
>>>> tenant ID to it? Basically the getTenantID call should be callable by this
>>>> code ... and if necessary the jars can be signed or whatever auth we need
>>>> for that.
>>>>
>>>> Sanjiva.
>>>>
>>>> On Sat, Jan 22, 2011 at 6:48 PM, Indika Kumara <[email protected]> wrote:
>>>>
>>>>> The Cassandra client API and inter-node communications are based on the
>>>>> Thrift API. It uses TCP and all other available Cassandra clients are 
>>>>> built
>>>>> top on that API. With those clients, I can only give TCP port and host –
>>>>> cannot use a URL.  As multiple tenants can have the users with the
>>>>> same name, either the tenant ID or tenant domain name should be used when
>>>>> log in to the system.
>>>>>
>>>>> 1)     * **Using the tenant ID*
>>>>>
>>>>> This is only applicable if the application (a Cassandra client) knows
>>>>> the current tenant ID. For example, a data service in wso2-stratos. This 
>>>>> is
>>>>> what I have done so far – parsing the ‘tenantID’ along with credentials 
>>>>> when
>>>>> log-ining to the Cassandra. However, if the client does not know the
>>>>> ‘tenantID’, he cannot log-ins into the system. For example, a user having 
>>>>> a
>>>>> web application that uses the Cassandra as the database (local), and later
>>>>> want to move to the Cassandra as a Service instead of the local Cassandra
>>>>> server.  Then, the user has to use the tenant domain.
>>>>>
>>>>> *2)      Using the tenant domain*
>>>>>
>>>>> There are mainly two ways to domain name
>>>>>
>>>>> 1)      Provide it as the URL
>>>>>
>>>>> https://www.google.com/a/wso2.com/ServiceLogin?service
>>>>>
>>>>>  And can logs into ‘indika’ and ‘my password’
>>>>>
>>>>> This method cannot be used currently because of the aforementioned
>>>>> limitation in the Thrift API (TCP).
>>>>>
>>>>> 2)      Provide as the part of user name
>>>>>
>>>>> https://www.google.com/accounts/ServiceLogin?service
>>>>>
>>>>> And it is needed to login as ‘[email protected]’ and ‘my password’
>>>>>
>>>>> This is what I wanted do. Within the Cassandra, I want to call the IS
>>>>> server, and takes the tenant-id by giving the ‘tenant-domain or complete
>>>>> user name’.
>>>>>
>>>>> As we decided to use the ‘tenantID’ to differentiate the keyspaces
>>>>> having the same yet belongs to different tenants.   I can use ‘tenant
>>>>> domain’ instead of ‘tenant ID’.
>>>>>
>>>>>
>>>>> What should be the proper solution? I highly appreciate your help.
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>> Indika
>>>>>
>>>>>
>>>>> On Sat, Jan 22, 2011 at 5:34 PM, Amila Suriarachchi <[email protected]>wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Sat, Jan 22, 2011 at 12:15 PM, Indika Kumara <[email protected]>wrote:
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>> $ subject ?
>>>>>>>
>>>>>>> The scenario is that a user (a typical Cassandra client application)
>>>>>>> log-ins to the Cassandra with his username( e.g. [email protected])
>>>>>>> and password.
>>>>>>
>>>>>> Within the user authentication logic, the Cassandra calls an IS server
>>>>>>> for real authentication.
>>>>>>> All user + tenant registration information is in the IS server. I
>>>>>>> need to access the 'tenantID' of the user for further operations in the
>>>>>>> Cassandra. I noticed in the ' AuthenticationAdmin'  that the 'tenantId' 
>>>>>>> is
>>>>>>> located. Could I get that 'tenantId'?
>>>>>>>
>>>>>>> This is the scenario where the Cassandra is a separate server.
>>>>>>>
>>>>>>
>>>>>> If the user first logs into the Casendra there must be a way to give
>>>>>> teneneID when login. One user name can ocurr in different tenants.
>>>>>>
>>>>>> thanks,
>>>>>> Amila.
>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Indika
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Carbon-dev mailing list
>>>>>>> [email protected]
>>>>>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Carbon-dev mailing list
>>>>>> [email protected]
>>>>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Carbon-dev mailing list
>>>>> [email protected]
>>>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Sanjiva Weerawarana, Ph.D.
>>>> Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
>>>> email: [email protected]; phone: +94 11 763 9614; cell: +94 77 787 6880
>>>> | +1 650 265 8311
>>>> blog: http://sanjiva.weerawarana.org/
>>>>
>>>> Lean . Enterprise . Middleware
>>>>
>>>> _______________________________________________
>>>> Carbon-dev mailing list
>>>> [email protected]
>>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Thilina Buddhika
>>> Senior Software Engineer
>>> WSO2 Inc. ; http://wso2.com
>>> lean . enterprise . middleware
>>>
>>> phone : +94 77 44 88 727
>>> blog : http://blog.thilinamb.com
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> [email protected]
>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
>
> --
> Thilina Buddhika
> Senior Software Engineer
> WSO2 Inc. ; http://wso2.com
> lean . enterprise . middleware
>
> phone : +94 77 44 88 727
> blog : http://blog.thilinamb.com
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>


-- 
Sanjiva Weerawarana, Ph.D.
Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
email: [email protected]; phone: +94 11 763 9614; cell: +94 77 787 6880 | +1
650 265 8311
blog: http://sanjiva.weerawarana.org/

Lean . Enterprise . Middleware
_______________________________________________
Carbon-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to