Tenant2 ile oturum açtığınızda, User2 adında yeni bir kullanıcı oluşturmayı deneyin .
Herhangi bir hata almayacaksınız ancak sürpriz bir şekilde yeni oluşturulan kullanıcıyı listede görmeyeceksiniz. Kullanıcı2'ye ne oldu?
Geçişlerde TenantId için varsayılan değeri 1 olarak ayarladığımızdan , artık Kullanıcı2'nin TenantId olarak 1 değeri vardır ve Primary Tenant'ın bir üyesidir .
Yeni kullanıcıların TenantId'sini oturum açmış kullanıcıyla aynı değere ayarlamamız gerekiyor .
UserSaveHandler'ın SetInternalFields yöntemini aşağıdaki gibi değiştirin :
protected override void SetInternalFields()
{
base.SetInternalFields();
if (IsCreate)
{
Row.Source = "site";
Row.IsActive = Row.IsActive ?? 1;
if (!Permissions.HasPermission(PermissionKeys.Tenants) ||
Row.TenantId == null)
{
Row.TenantId = User.GetTenantId();
}
}
if (IsCreate || !Row.Password.IsEmptyOrNull())
{
string salt = null;
Row.PasswordHash = GenerateHash(password, ref salt);
Row.PasswordSalt = salt;
}
}
Burada TenantId'i , kiracı yönetimi iznine sahip olmadığı sürece mevcut kullanıcıyla aynı değere ayarlıyoruz .
Şimdi yeni bir Kullanıcı2b kullanıcısı oluşturmayı deneyin ; bu sefer onu listede göreceksiniz.