Also I found that someone had added this to ldapuserstoremanager only in 4.1.0 
- Asela will move that to the API

Sent from my mobile device

On Jul 16, 2013, at 9:05 PM, Prabath Siriwardena <[email protected]> wrote:

> This was added with the new API...
> 
> Sent from my mobile device
> 
> On Jul 16, 2013, at 8:53 PM, Amila Suriarachchi <[email protected]> wrote:
> 
>> 
>> 
>> 
>> On Mon, Jul 15, 2013 at 10:49 AM, Prabath Siriwardena <[email protected]> 
>> wrote:
>>> 
>>> 
>>> On Mon, Jul 15, 2013 at 10:38 AM, Amila Suriarachchi <[email protected]> wrote:
>>>> 
>>>> 
>>>> 
>>>> Here is another example. Registry has following method. This method is 
>>>> used to check whether a given user in admin role and allow some 
>>>> permissions (see the usage of this method) to user. If we have an hasRole 
>>>> method as in here[1] we shall not require this method and code would have 
>>>> written as 
>>>> 
>>>> userRealm.hasRole(userName, "admin");
>>> 
>>> 
>>> We have the method, isUserHasRole(User, Role)  in UserStoreManager. Having 
>>> this in UserRealm is not that meaningful.
>> 
>> Seems like this method now not available in trunk :)
>> 
>> thanks,
>> Amila. 
>>> 
>>> Thanks & regards,
>>> -Prabath
>>>  
>>>> 
>>>> public static boolean hasAdminAuthorizations(String userName, UserRealm 
>>>> userRealm)
>>>>             throws RegistryException {
>>>> 
>>>>         try {
>>>>             UserStoreManager userStoreReader = 
>>>> userRealm.getUserStoreManager();
>>>> 
>>>>             RealmConfiguration realmConfig;
>>>>             try {
>>>>                 realmConfig = userRealm.getRealmConfiguration();
>>>>             } catch (UserStoreException e) {
>>>>                 String msg = "Failed to retrieve realm configuration.";
>>>>                 log.error(msg, e);
>>>>                 throw new RegistryException(msg, e);
>>>>             }
>>>>             String systemUser = CarbonConstants.REGISTRY_SYSTEM_USERNAME;
>>>> 
>>>>             if (systemUser.equals(userName)) {
>>>>                 return true;
>>>>             }
>>>> 
>>>>             String adminUser = realmConfig.getAdminUserName();
>>>>             if (adminUser.equals(userName)) {
>>>>                 return true;
>>>>             }
>>>> 
>>>>             String[] roles = userStoreReader.getRoleListOfUser(userName);
>>>>             String adminRoleName = realmConfig.getAdminRoleName();
>>>>             if (containsString(adminRoleName, roles)) {
>>>>                 return true;
>>>>             }
>>>> 
>>>>         } catch (UserStoreException e) {
>>>> 
>>>>             String msg = "Failed to check authorization level of user " +
>>>>                     userName + ". Caused by: " + e.getMessage();
>>>>             log.error(msg, e);
>>>>             throw new RegistryException(msg, e);
>>>>         }
>>>> 
>>>>         return false;
>>>>     } 
>>>> 
>>>> thanks,
>>>> Amila.
>>>> 
>>>> 
>>>> [1] 
>>>> http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/Realm.html
>>>>> 
>>>>> With C5 we can keep such a simple API at core level and put admin 
>>>>> functionality to carbon components.
>>>>> 
>>>>> thanks,
>>>>> Amila. 
>>>>> 
>>>>> 
>>>>> [1] 
>>>>> http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/Realm.html
>>>>>> 
>>>>>> Thanks & regards,
>>>>>> -Prabath
>>>>>> 
>>>>>> 
>>>>>> On Thu, Jul 11, 2013 at 12:42 PM, Amila Suriarachchi <[email protected]> 
>>>>>> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Thu, Jul 11, 2013 at 10:21 AM, Prabath Siriwardena 
>>>>>>> <[email protected]> wrote:
>>>>>>>> UserStoreManager API is not clean at all.. There so many stuff can 
>>>>>>>> remove... Also maintain two interfaces one in the core and another in 
>>>>>>>> API. We need to get rid of the interface in core..
>>>>>>>> 
>>>>>>>> On Thu, Jul 11, 2013 at 10:06 AM, Asela Pathberiya <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>> Hi All,
>>>>>>>>> 
>>>>>>>>> I am not sure why we are keeping following method in the API... 
>>>>>>>>> Sorry, if i have missed any thing....  If there are on any usage, we 
>>>>>>>>> can remove them...
>>>>>>>>> 
>>>>>>>>> 1. String[] getAllSecondaryRoles() 
>>>>>>>>> 
>>>>>>>>> Why we need only the roles of secondary user store? 
>>>>>>>> 
>>>>>>>> This is useful.. In a multi-tenanted environment - primary user store 
>>>>>>>> is governed by the super tenant.. It's also better to have a method 
>>>>>>>> getRoles(String userStoreDomain).
>>>>>>> 
>>>>>>> This is wrong. You should not try to get the roles from the UserStore. 
>>>>>>> Roles has to come from the Authorization manager.
>>>>>>> 
>>>>>>> thanks,
>>>>>>> Amila. 
>>>>>>>> 
>>>>>>>> Thanks & regards,
>>>>>>>> -Prabath
>>>>>>>>  
>>>>>>>>> 
>>>>>>>>> 2.  int getTenantId(String username)
>>>>>>>>> 
>>>>>>>>> Once user is authenticated, we knows the tenant Id.  Else why we need 
>>>>>>>>> to get the tenant id of a user who is not in its tenant space ?
>>>>>>>>>  
>>>>>>>>> 3. int getUserId(String username) 
>>>>>>>>> 
>>>>>>>>> What is the use of user id?  It seems to this is auto increment value 
>>>>>>>>> of UM_USER table
>>>>>>>>> 
>>>>>>>>> 4.  int getTenantId()
>>>>>>>>> 
>>>>>>>>> I guess,  tenant Id is not need to expose via user store manager API, 
>>>>>>>>> it is available with carbon context
>>>>>>>>> 
>>>>>>>>> Thanks,
>>>>>>>>> Asela.
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> Thanks & Regards,
>>>>>>>>> Asela
>>>>>>>>> 
>>>>>>>>> Mobile : +94 777 625 933
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> Thanks & Regards,
>>>>>>>> Prabath
>>>>>>>> 
>>>>>>>> Mobile : +94 71 809 6732 
>>>>>>>> 
>>>>>>>> http://blog.facilelogin.com
>>>>>>>> http://RampartFAQ.com
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> [email protected]
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> Amila Suriarachchi
>>>>>>> 
>>>>>>> Software Architect
>>>>>>> WSO2 Inc. ; http://wso2.com
>>>>>>> lean . enterprise . middleware
>>>>>>> 
>>>>>>> phone : +94 71 3082805
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> Thanks & Regards,
>>>>>> Prabath
>>>>>> 
>>>>>> Mobile : +94 71 809 6732 
>>>>>> 
>>>>>> http://blog.facilelogin.com
>>>>>> http://RampartFAQ.com
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Amila Suriarachchi
>>>>> 
>>>>> Software Architect
>>>>> WSO2 Inc. ; http://wso2.com
>>>>> lean . enterprise . middleware
>>>>> 
>>>>> phone : +94 71 3082805
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Amila Suriarachchi
>>>> 
>>>> Software Architect
>>>> WSO2 Inc. ; http://wso2.com
>>>> lean . enterprise . middleware
>>>> 
>>>> phone : +94 71 3082805
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Thanks & Regards,
>>> Prabath
>>> 
>>> Mobile : +94 71 809 6732 
>>> 
>>> http://blog.facilelogin.com
>>> http://RampartFAQ.com
>> 
>> 
>> 
>> -- 
>> Amila Suriarachchi
>> 
>> Software Architect
>> WSO2 Inc. ; http://wso2.com
>> lean . enterprise . middleware
>> 
>> phone : +94 71 3082805
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to