Scopo
Nelle applicazioni che usano il servizio Domini per i documenti durante la fase di autenticazione occorre valorizzare questa proprietà per attribuire all'utente il suo dominio. Quest'informazione verrà usata dal Framework per filtrare durante il caricamento i documenti che hanno uno Scope inferiore al livello 20 o il dominio uguale a quello dell'utente.
Sintassi
Applicazione.domainID = "dominio"
Quando letta
Restituisce una stringa corrispondente al dominio associato all'utente.
Valore di ritorno
Imposta il dominio per cui verranno filtrati i documenti in fase di caricamento.
Esempio
// *********************************************************************
// Evento notificato dall'applicazione quando l'utente effettua il login
// *********************************************************************
event EsempiDO.OnLogin(
inout string Username // E' una stringa contenente l'username inserito...
inout string Password // E' una stringa contenente la password inserit...
inout boolean DataValid // Se impostato a True informa il framework che ...
)
{
int vRuolo = 0
string vCompagnia = ""
string vDominio = ""
boolean ok = False
int vLivelloAutorizzazione = 0
//
// Verifico le credenziali dell'utente
select into variables (ok)
set vRuolo = Ruolo
set vCompagnia = Compagnia
set vDominio = Dominio
set vLivelloAutorizzazione = LivelloAutorizzazione
from
Utenti // master table
where
Username = Username
Password = Password
//
// Se l'utente è autorizzato
if (ok)
{
EsempiDO.userRole = vRuolo
//
// Imposto le proprietà he verranno utilizzate dal servizio DO di
// Domini
EsempiDO.companyID = vCompagnia
EsempiDO.domainID = vDominio
//
// Imposto la proprietà che verrà utilizzata dal servizio DO di
// Informazioni Utente
EsempiDO.userName = Username
EsempiDO.authorizationLevel = vLivelloAutorizzazione
}
else
{
EsempiDO.userName = DefaultUserName
EsempiDO.userRole = Anonymous
}
}
// Evento notificato dall'applicazione quando l'utente effettua il login
// *********************************************************************
event EsempiDO.OnLogin(
inout string Username // E' una stringa contenente l'username inserito...
inout string Password // E' una stringa contenente la password inserit...
inout boolean DataValid // Se impostato a True informa il framework che ...
)
{
int vRuolo = 0
string vCompagnia = ""
string vDominio = ""
boolean ok = False
int vLivelloAutorizzazione = 0
//
// Verifico le credenziali dell'utente
select into variables (ok)
set vRuolo = Ruolo
set vCompagnia = Compagnia
set vDominio = Dominio
set vLivelloAutorizzazione = LivelloAutorizzazione
from
Utenti // master table
where
Username = Username
Password = Password
//
// Se l'utente è autorizzato
if (ok)
{
EsempiDO.userRole = vRuolo
//
// Imposto le proprietà he verranno utilizzate dal servizio DO di
// Domini
EsempiDO.companyID = vCompagnia
EsempiDO.domainID = vDominio
//
// Imposto la proprietà che verrà utilizzata dal servizio DO di
// Informazioni Utente
EsempiDO.userName = Username
EsempiDO.authorizationLevel = vLivelloAutorizzazione
}
else
{
EsempiDO.userName = DefaultUserName
EsempiDO.userRole = Anonymous
}
}
- Insieme alla proprietà DomainID generalmente viene impostata anche la proprietà CompanyID.
-
Alle query di caricamento dei documenti che usano il servizio Domini viene aggiunta la seguente Where Clause:
WHERE ...
and (CompanyField = 'CompanyID' or ScopeField < 30)
and (DomainField = 'DomainID' or ScopeField < 20)
doveCompanyField
,ScopeField
eDomainField
sono i campi della tabella che corrispondono alle proprietà con i concetti DO_COMPANY, DO_SCOPE e DO_DOMAIN, mentreCompanyID
eDomainID
sono i valori delle proprietà CompanyID e DomainID.
Ultima modifica: 25/10/2016 / Validità: da 9.0.3940