Hi,

This issue is fixed in [1].


Thanks
isura


[1] https://wso2.org/jira/browse/CARBON-15517


On Wed, Oct 14, 2015 at 11:25 AM, Johann Nallathamby <joh...@wso2.com>
wrote:

> Hi Isura,
>
> Can you look into this issue urgently. I remember you fixing an issue
> related to this.
>
> Thanks.
>
> On Wed, Oct 14, 2015 at 7:16 AM, Indika Sampath <indi...@wso2.com> wrote:
>
>> Hi All,
>>
>> I debug code of our and found issue. It seems implementation of some API
>> changed in user-core. Let me explain the flow.
>>
>> Our queue/topic creation has two call.
>>
>> 1. We create internal role when adding queue and assign
>> "changePermission", "publish", "consume"  permissions to it. Which means
>> that, user who created particular queue can update permission, publish or
>> consume.
>>
>> - Below code line used to get internal role name:
>>
>> UserCoreUtil.addInternalDomainName(QUEUE_ROLE_PREFIX +
>> queueName.replace(".","-").replace("/", "-"))
>>
>> result = {java.lang.String@10289}"*Internal/Q_userQueue*"
>> value = {char[21]@10290}
>> hash = 0
>> hash32 = 0
>>
>> - assign permission as below:
>>
>> userStoreManager.addRole(roleName, user, null);
>> userRealm.getAuthorizationManager().authorizeRole(roleName, queueId,
>> PERMISSION_CHANGE_PERMISSION);
>> userRealm.getAuthorizationManager().authorizeRole(roleName, queueId,
>> TreeNode.Permission.CONSUME.toString().toLowerCase());
>> userRealm.getAuthorizationManager().authorizeRole(roleName, queueId,
>> TreeNode.Permission.PUBLISH.toString().toLowerCase());
>>
>> 2. User can select some other role listed in in queue add page. He can
>> select these role when adding queue or later by updating queue. So in
>> update permission we checked whether any of user's role has above assign
>> change permission.
>>
>> - get role list of user:
>>
>> userRealm.getUserStoreManager().getRoleListOfUser(loggedInUser)
>>
>> result = {java.lang.String[3]@9689}
>> [0] = {java.lang.String@9690}"*Internal/Q_userQueue*"
>> [1] = {java.lang.String@9691}"Internal/everyone"
>> [2] = {java.lang.String@9692}"role1"
>>
>> - check whether any of role has change permission
>>
>>                     for (String userRole : userRoles) {
>>                         if
>> (userRealm.getAuthorizationManager().isRoleAuthorized(userRole, queueID,
>> PERMISSION_CHANGE_PERMISSION)) {
>>                             isUserHasChangePermission = true;
>>                         }
>>                     }
>>
>> Issue is above check false for all roles. But we assigned change
>> permission to *Internal/Q_userQueue*  role when creating queue.
>>
>> 3. Next I evaluate below code line to check whether which role has change
>> permission to queueID. Result is as below:
>>
>> userRealm.getAuthorizationManager().getAllowedRolesForResource(queueID,
>> PERMISSION_CHANGE_PERMISSION)
>>
>> result = {java.lang.String[1]@9694}
>> [0] = {java.lang.String@9686}"*INTERNAL/Q_userQueue*"
>>
>> Result has different role name. We created role name called
>> *Internal/Q_userQueue* and assign permissions but it has created with
>> different name *INTERNAL/Q_userQueue* and assign permission.
>>
>> Please have look into this because it is blocking issue to our
>> implementation.
>>
>> Cheers!
>>
>>
>> On Tue, Oct 13, 2015 at 5:22 PM, Kishanthan Thangarajah <
>> kishant...@wso2.com> wrote:
>>
>>> Was this issue found in 4.4.2 RC1 too?
>>>
>>> On Tue, Oct 13, 2015 at 4:58 PM, Sasikala Kottegoda <sasik...@wso2.com>
>>> wrote:
>>>
>>>> Hi Manuri,
>>>>
>>>> We tested MB 3.0.0 with this release and our scenario of queue creation
>>>> fails after giving a permission denied error. The scenario is as follows:
>>>>
>>>> 1. Create a user "user1" with a role assigned with permission to create
>>>> queues.
>>>> 2. Login from "user1" and try to create a queue, we get a permission
>>>> denied error.
>>>>
>>>> When creating a queue the following happens from our code.
>>>>
>>>> 1. We create an internal role for the queue and assign it to the
>>>> current user with permissions assigned.
>>>>
>>>> userRealm.getAuthorizationManager().authorizeRole(roleName, queueId,
>>>>                                                   
>>>> PERMISSION_CHANGE_PERMISSION);
>>>>
>>>> 2. Next, we create the queue and update permissions for the queue. In this 
>>>> step, we check if the current user has permissions to change the queue.
>>>>
>>>> String[] userRoles = 
>>>> userRealm.getUserStoreManager().getRoleListOfUser(loggedInUser);
>>>> for (String userRole : userRoles) {
>>>>     if (userRealm.getAuthorizationManager().isRoleAuthorized(
>>>>             userRole, queueID, PERMISSION_CHANGE_PERMISSION)) {
>>>>         isUserHasChangePermission = true;
>>>>     }
>>>> }
>>>>
>>>> At this stage, *'*(userRealm.getAuthorizationManager().isRoleAuthorized(
>>>>             userRole, queueID, PERMISSION_CHANGE_PERMISSION))' false 
>>>> implying that any of roles assigned to the user do not have permissions to 
>>>> change the queue, thus not allowing the user to create the queue.
>>>>
>>>>
>>>> Thank you
>>>>
>>>>
>>>> On Mon, Oct 12, 2015 at 9:24 PM, Manuri Amaya Perera <manu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Devs,
>>>>>
>>>>> WSO2 Carbon Kernel 4.4.2 RC2 Release Vote.
>>>>>
>>>>> This release fixes the following issues:
>>>>> https://wso2.org/jira/issues/?filter=12396
>>>>>
>>>>> Please download and test your products with kernel 4.4.2 RC2 and vote.
>>>>> Vote will be open for 72 hours or longer as needed.
>>>>>
>>>>> *​Source and binary distribution files:*
>>>>> https://svn.wso2.org/repos/wso2/people/aruna/v4.4.2-rc2
>>>>>
>>>>> *Maven staging repository:*
>>>>> http://maven.wso2.org/nexus/content/repositories/orgwso2carbon-019/
>>>>>
>>>>> *The tag to be voted upon:*
>>>>> https://github.com/wso2/carbon-kernel/tree/v4.4.2-rc2
>>>>>
>>>>>
>>>>> [ ] Broken - do not release (explain why)
>>>>> [ ] Stable - go ahead and release
>>>>>
>>>>>
>>>>> Thank you
>>>>> Carbon Team
>>>>>
>>>>> --
>>>>>
>>>>> *Manuri Amaya Perera*
>>>>>
>>>>> *Software Engineer*
>>>>>
>>>>> *WSO2 Inc.*
>>>>>
>>>>> *Blog: http://manuriamayaperera.blogspot.com
>>>>> <http://manuriamayaperera.blogspot.com>*
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> Dev@wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Sasikala Kottegoda
>>>> *Software Engineer*
>>>> WSO2 Inc., http://wso2.com/
>>>> lean. enterprise. middleware
>>>> Mobile: +94 774835928/712792401
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Kishanthan Thangarajah*
>>> Associate Technical Lead,
>>> Platform Technologies Team,
>>> WSO2, Inc.
>>> lean.enterprise.middleware
>>>
>>> Mobile - +94773426635
>>> Blog - *http://kishanthan.wordpress.com
>>> <http://kishanthan.wordpress.com>*
>>> Twitter - *http://twitter.com/kishanthan
>>> <http://twitter.com/kishanthan>*
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Indika Sampath
>> Senior Software Engineer
>> WSO2 Inc.
>> http://wso2.com
>>
>> Phone: +94 716 424 744
>> Blog: http://indikasampath.blogspot.com/
>>
>>
>
>
> --
> Thanks & Regards,
>
> *Johann Dilantha Nallathamby*
> Technical Lead & Product Lead of WSO2 Identity Server
> Governance Technologies Team
> WSO2, Inc.
> lean.enterprise.middleware
>
> Mobile - *+94777776950*
> Blog - *http://nallaa.wordpress.com <http://nallaa.wordpress.com>*
>



-- 
Isura Dilhara Karunaratne
Senior Software Engineer

Mob +94 772 254 810
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to