Hi Darshana,

On Wed, May 25, 2016 at 6:50 AM, Darshana Gunawardana <darsh...@wso2.com>
wrote:

> Hi Dhanuka,
>
> On Thu, May 19, 2016 at 11:23 AM, Dhanuka Ranasinghe <dhan...@wso2.com>
> wrote:
>
>> Hi All,
>>
>> Currently we can add user with user name with @ sign, say for example if
>> the user name is "test@user" without enabling Email User, Carbon
>> Management console allow to add this user. But when we are trying to do the
>> same thing as user sign up with APIM manager it's getting failed with super
>> tenant. We found the root cause is at [1] line. Reason is from following
>> highlighted code line we are getting *tenantAwareUserName* as *test* by
>> removing* @user* part. Also *tenantName* also getting as *user*, which
>> are wrong, and due to that realm become *Null*.
>>
>> There are few things need to be consider here.
>>
>> 1.  Is it correct allowing to add username with *@* sign at Carbon
>> Management Console without enable Email User?
>>
> Yes. This is a valid requirement.
>

This can be a valid requirement, but what we say is we should not allow
this because it leads to an ambiguous situation.


>
>
>> 2. Assume we have tenant domain called *wso2.com <http://wso2.com>*,
>> then create user as *abc* with password *admin* in that domain space and
>> again  we create user as *a...@wso2.com <a...@wso2.com>* from super tenant
>> space with password as *admin.*
>>
> This behaviour needed to be avoided from the code by correctly
> manipulating the tenant domain.
>
> MultitenantUtils.getTenantAwareUsername() method is not a idempotent
> operation. So you need to know how the format(whether is tenant aware
> username or not) of the username its returning from user.getUserName() and
> use MultitenantUtils.getTenantAwareUsername() only for username which have
> the tenant domain appended.
>

I'm not sure if this is feasible. Think of the same login example. When
someone logs in, all we have is username and password. We don't provide
tenant domain separately. So as I asked previously, how do you
differentiate these 2 users?

*Super Tenant User:*

Username: a...@wso2.com
Password: pass


*wso2.com <http://wso2.com> Tenant User:*

Username: abc
Password: pass

For both users, when they login, their usernames and passwords are the
same. That's a problem. Isn't it?

Thanks,
Bhathiya



>
> Regards,
>
>
> So when we try to login as* a...@wso2.com <a...@wso2.com>*, it login to 
> *wso2.com
>> <http://wso2.com>* tenant space. To login to super tenant user we need
>> to login as *a...@wso2.com@carbon.super*. Will this be OK?
>>
>> [1] *org.wso2.carbon.identity.user.registration.UserRegistrationService.*
>> *addUser(UserDTO)*
>> *String tenantAwareUserName =
>> MultitenantUtils.getTenantAwareUsername(user.getUserName());*
>> *String tenantName =
>> MultitenantUtils.getTenantDomain(user.getUserName());*
>> *realm = IdentityTenantUtil.getRealm(tenantName, null);*
>>
>>
>> Cheers,
>> Dhanuka
>>
>> *Dhanuka Ranasinghe*
>>
>> Associate TechLead
>> WSO2 Inc. ; http://wso2.com
>> lean . enterprise . middleware
>>
>> phone : +94 715381915
>>
>
>
>
> --
> Regards,
>
>
> *Darshana Gunawardana*Senior Software Engineer
> WSO2 Inc.; http://wso2.com
>
> *E-mail: darsh...@wso2.com <darsh...@wso2.com>*
> *Mobile: +94718566859 <%2B94718566859>*Lean . Enterprise . Middleware
>



-- 
*Bhathiya Jayasekara*
*Senior Software Engineer,*
*WSO2 inc., http://wso2.com <http://wso2.com>*

*Phone: +94715478185*
*LinkedIn: http://www.linkedin.com/in/bhathiyaj
<http://www.linkedin.com/in/bhathiyaj>*
*Twitter: https://twitter.com/bhathiyax <https://twitter.com/bhathiyax>*
*Blog: http://movingaheadblog.blogspot.com
<http://movingaheadblog.blogspot.com/>*
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to