Hi,

The Cassandra user store implementation was started for IS 5.0 as a
customer evaluation requirement.

As the initial phase I have implemented the following functionalities

In super tenant mode
  - add/edit/delete user
  - add/edit/delete role
  - attach user to role
  - attach role to user
  - view users
  - view roles

The database structure is as follows:

CF Name

Description

Composite key

columns

example

UM_USER

Stores users

userName,tenantID


e.g(�user5��-1234�)

KEY,SaltValue,UM_REQUIRE_CHANGE
BOOLEAN,UM_TENANT_ID,UM_USER_ID,UM_USER_NAME,secret

KEY,000575736572350000052d3132333400 | SaltValue,uMDOiQI9wvFUzcczLXwvHQ== |
UM_REQUIRE_CHANGE BOOLEAN,false | UM_TENANT_ID,-1234 |
UM_USER_ID,a3b054e8-4823-4257-9f9d-36d3b1a09b9b | UM_USER_NAME,user5 |
secret,9u2+C9/BZv/0F5dVUo956NvwwNZV9Yi2RlFosOtWrZg=

UM_ROLE

Stores roles

roleName, tenantId


e.g.(�role8787��-1234�)

KEY,UM_ROLE_NAME,UM_TENANT_ID,

KEY,0008726f6c65383738370000052d3132333400| UM_ROLE_NAME,role8787 |
UM_TENANT_ID,-1234

UM_USER_ROLE

mapps the user to the role list

userName,tenantId


e.g.�    testUser1��-1234�

KEY,<rolename>

KEY,00097465737455736572310000052d3132333400(�    testUser1��-1234�) |
role88,role88 | testRole1,testRole1 | testRole3,testRole3 |
testrole2,testrole2

UM_ROLE_USER_INDEX

keeps the user list mapped to a role

roleName,tenantId


e.g.�    testRole1��-1234�

KEY,<userName>

KEY,000974657374526f6c65310000052d3132333400(�    testRole1��-1234�) |
testUser1,testUser1 | tuser1,tuser1 | user1,user1 | user8,user8 |
user87,user87


The initial code can be found at :
https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/cassandra-userstore

The code review was done on the initial implementation and was discussed in
the mail thread "Cassandra User Store Manager - Code review".

The user store is yet incomplete and is in R&D state, and requires a
considerable effort to implement it fully in order to make it production
ready.

Any thoughts?

-- 
Thanks and Regards
*,Shani Ranasinghe*
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 77 2273555
linked in: lk.linkedin.com/pub/shani-ranasinghe/34/111/ab
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to