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
