Questo esempio su come nascondere record è per un'azienda con tre clienti: Logic Equipment, Widgets Inc. e Modern Software. È possibile controllare i record del tipo di record Defect in modo tale che i clienti possano accedere al database di produzione per eseguire queste attività:
Quando i clienti di Modern Software accedono al database, non devono visualizzare i difetti memorizzati da Widgets Inc., Logic Equipment o dal proprio team. Quando un cliente di Modern Software crea un'interrogazione in Client Rational ClearQuest, le uniche informazioni nella serie di risultati sono relative ai difetti inviati dai clienti di Modern Software.
Questo esempio descrive le seguenti procedure:
Queste procedure richiedono varie autorizzazioni di accesso dell'utente. È necessario disporre del privilegio Super User per completare le procedure elencate in questo esempio.
Questo esempio utilizza uno schema in base allo schema DefectTracking predefinito, che contiene i tipi di record Defect e Customer. Questo esempio suppone che sia eseguito il checkout sullo schema.
Per controllare l'accesso ai record defect, viene creato un campo Security Context in un tipo di record Defect che fa riferimento al record Customer. Creare il campo nella griglia Fields, aggiungere il campo al modulo del record e applicare le modifiche dello schema.
Un campo Security Context deve essere un tipo di campo Reference. È possibile aggiungere più campi Security Context. In tal caso, è necessario essere un membro di almeno uno dei gruppi che possono visualizzare record di tale tipo.
Per creare un campo Security Context nel tipo di record Defect:
Quando si seleziona il tipo di record Customer dall'elenco Reference To, viene selezionata la casella Security Context.
Una pagina definita Ratl_Security viene aggiunta a Submit e ai moduli predefiniti del record security context (cliente). Questa pagina viene utilizzata in Client Rational ClearQuest per selezionare i gruppi che possono visualizzare il record. (È possibile modificare il nome della pagina Ratl_Security. Consultare la sezione Modifica dei nomi di pagine).
Come esempio di aggiunta di più di un campo Security Context ad un tipo di record, è possibile aggiungere un campo Security Context che fa riferimento al tipo di record Customer e un altro campo Security Context che si riferisce al tipo di record Quality_Assurance. Se si aggiungono i clienti al tipo di record Customer ed i membri del gruppo Quality Assurance al record Quality_Assurance, gli utenti in uno degli elenchi del gruppo per questi tipi di record hanno l'accesso ai record mediante il controllo di sicurezza.
È possibile includere un hook per compilare il campo, in base all'utente che effettua l'accesso. Tale operazione garantisce la presenza di un valore valido nel campo. È anche possibile considerare di evitare l'esecuzione di alcune azioni da parte degli utenti. Ad esempio, è possibile consentire solo agli utenti interni di chiudere un difetto ed impedire agli utenti di eliminare record ai clienti. Per ulteriori informazioni, consultare la sezione Utilizzo delle altre funzioni di sicurezza di Rational ClearQuest.
Una volta creato il campo customer_defects, è necessario aggiungerlo al modulo del record Defect.
Per aggiungere il nuovo campo customer_defects al modulo del record Defect:
Una volta aggiunto un nuovo campo, è necessario eseguire nuovamente il checkin dello schema e applicare le modifiche dello schema al database dell'utente. Una volta eseguita questa procedura, queste modifiche non possono essere annullate. Per ulteriori informazioni, consultare la sezione Personalizzazione di uno schema.
Si creano i gruppi da associare al record Security Context Customer, si aggiungono gli utenti ai gruppi e si aggiorna il database dell'utente con le nuove informazioni dell'utente. Per questo esempio, creare i gruppi utenti per Widgets Inc., Modern Software e Logic Equipment, quindi aggiungere gli utenti a questi gruppi.
Nel sistema di sicurezza, è anche possibile utilizzare i gruppi esistenti. È possibile creare ulteriori gruppi, ad esempio un gruppo che può visualizzare tutti i record inviati dagli utenti interni, un gruppo che può visualizzare tutti i record inviati da tutte le società o un gruppo che può visualizzare tutti i record, a prescindere da chi li ha inviati.
Per informazioni sulla creazione dei gruppi, consultare Creazione di un nuovo gruppo utente e Aggiunta di utenti ad un gruppo.
Si invia un record Customer per ogni società a cui si desidera fornire accesso al database: Widgets Inc., Modern Software e Logic Equipment.
Per inviare i record context security:
È anche possibile creare i gruppi che possono visualizzare tutti i record. Se si crea un gruppo che può visualizzare tutti i record, aggiungere questo gruppo a ciascun record customer.
Quindi, è necessario associare gruppi specifici con ciascun record Security Context. In questo esempio, selezionare i gruppi utenti da associare con i record customer inviati per Widgets Inc., Logic Equipment e Modern Software. Questi gruppi contengono gli utenti a cui si desidera concedere i privilegi per visualizzare e modificare i record.
Per associare i gruppi ai record Customer:
Successivamente si modifica ogni record defect a cui accedono i clienti, assegnando un cliente al campo customer_defects. Questa azione fornisce l'accesso dei gruppi Logic, Widgets, Modern al record. Questo passo assegna il valore del record Security Context al campo Security Context.
In Client Rational ClearQuest:
La procedura richiesta per nascondere i record adesso è terminata.
Un cliente di Widgets Inc. può accedere al database ed effettuare le seguenti attività: