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
