Procedura: Utilizzare le impostazioni di Information Rights Management

In Microsoft Office InfoPath 2007 sono disponibili due tipi di impostazioni di Information Rights Management (IRM)): un tipo per la protezione dell'accesso ai modelli di modulo di InfoPath e un tipo per il controllo dell'accesso e delle azioni nei dati contenuti nei moduli completati. Per utilizzare tali impostazioni nella progettazione di un modello di modulo, scegliere Gestisci credenziali dal menu File. Per utilizzare tali impostazioni nella compilazione di un modulo, scegliere Autorizzazioni dal menu File e quindi Gestisci credenziali. Per ulteriori informazioni sull'utilizzo della finestra di dialogo Autorizzazioni in InfoPath, vedere l'argomento "Creare un modello di modulo con autorizzazioni limitate" nella Guida di InfoPath.

Nota:

La limitazione delle autorizzazioni è disponibile solo per i modelli di modulo compatibili con InfoPath. I modelli di modulo compatibili con browser non supportano IRM. Se la voce Gestisci credenziali non è disponibile nel menu File durante la progettazione di un modello di modulo, controllare le impostazioni di compatibilità.

Modello a oggetti di IRM

Utilizzare la classe Permission per accedere alla classe UserPermissionCollection e alle impostazioni di autorizzazione di IRM che è possibile applicare a un modulo. Per accedere all'oggetto Permission associato a un modello di modulo, utilizzare la proprietà Permission della classe XmlForm. L'oggetto Permission restituito consente di accedere all'insieme di oggetti UserPermission associati al modello di modulo e a ogni istanza di modulo creata con tale modello.

L'oggetto Permission e i metodi e le proprietà corrispondenti sono disponibili indipendentemente dal fatto che le autorizzazioni sul modello di modulo attivo siano limitate o meno. Utilizzare la proprietà Enabled per determinare se un modulo dispone di autorizzazioni limitate.

Le autorizzazioni su un modulo vengono attivate in uno dei modi seguenti utilizzando proprietà e metodi della classe Permission:

Tramite l'impostazione della proprietà Enabled su true

Tramite l'impostazione della proprietà DocumentAuthor

Tramite l'impostazione della proprietà RequestPermissionUrl

Tramite l'impostazione della proprietà StoreLicenses su true o su false

Tramite la chiamata al metodo ApplyPolicy.

Nota:

Se nel computer dell'utente non è installato il client Windows Rights Management, l'utilizzo della classe Permission genera un'eccezione.

Per utilizzare a livello di programmazione le impostazioni di IRM per singoli utenti nei moduli, utilizzare le classi UserPermissionCollection e UserPermission.

Un oggetto UserPermission associa un set di autorizzazioni per il modulo corrente a un singolo utente e a una data di scadenza facoltativa. Utilizzare il metodo Add della classe UserPermissionCollection per aggiungere e concedere a un utente un set di autorizzazioni sul modulo corrente. Utilizzare il metodo Remove della classe UserPermissionCollection per rimuovere un utente e le relative autorizzazioni. Mentre alcune autorizzazioni concesse tramite l'interfaccia utente vengono applicate a tutti gli utenti, è possibile utilizzare le classi UserPermission e UserPermissionCollection per assegnare tali autorizzazioni a singoli utenti con date di scadenza diverse per ognuno. Il modello a oggetti consente agli sviluppatori di enumerare le impostazioni delle autorizzazioni in un modulo e di garantire agli utenti di tale modulo le funzionalità necessarie per aggiungere autorizzazioni senza utilizzare il riquadro attività Autorizzazione modulo o la finestra di dialogo Autorizzazioni.

Nota:

Non è possibile applicare le autorizzazioni quando il modulo è in modalità anteprima. Per tale motivo, quando un modulo viene visualizzato in anteprima, tutte le proprietà della classe Permission sono di sola lettura. In modalità anteprima, la proprietà Enabled restituirà sempre il valore false e, se il codice tenta di modificare questa impostazione, verrà generato un oggetto System.Runtime.InteropServices.COMException e verrà restituito l'errore "Proprietà/metodo non disponibile in modalità anteprima". Analogamente, anche i metodi associati alle classi UserPermission e UserPermissionCollection restituiranno questo messaggio di errore se utilizzati in modalità anteprima.

Informazioni generali sulla classe Permission

La classe UserPermissionCollection include le proprietà e il metodo seguenti.

Nome Descrizione

Metodo ApplyPolicy

Applica criteri al modulo utilizzando un file modello dei criteri.

Proprietà DocumentAuthor

Ottiene o imposta l'autore del modulo corrente come indirizzo di posta elettronica.

Proprietà Enabled

Ottiene o imposta lo stato di attivazione o di disattivazione delle impostazioni relative alle autorizzazioni rappresentate dall'oggetto Permission per il modulo corrente.

Proprietà PermissionFromPolicy

Ottiene o imposta l'applicazione dei criteri di autorizzazione al modulo corrente.

Proprietà PolicyDescription

Ottiene una descrizione dei criteri applicati al modulo corrente.

Proprietà PolicyName

Ottiene il nome dei criteri applicati al modulo corrente.

Proprietà RequestPermissionUrl

Ottiene o imposta il file, l'URL o l'indirizzo di posta elettronica che gli utenti devono utilizzare se sono necessarie ulteriori autorizzazioni sul modulo corrente.

Proprietà StoreLicenses

Ottiene o imposta la memorizzazione nella cache della licenza dell'utente per visualizzare il modulo corrente, per consentirne la visualizzazione non in linea quando un utente non può connettersi a un server di gestione dei diritti.

Proprietà UserPermissions

Ottiene un oggetto UserPermissionCollection per il modulo corrente.

Informazioni generali sulla classe UserPermissionCollection

La classe UserPermissionCollection include le proprietà e i metodi seguenti.

Nome Descrizione

Metodo Add (+3 overload)

Aggiunge un nuovo utente al modulo corrente, specificando facoltativamente le autorizzazioni e una data di scadenza.

Metodo Remove

Rimuove l'oggetto UserPermission con lo UserId specificato dall'insieme.

Metodo RemoveAll

Rimuove tutti gli oggetti UserPermission dall'insieme.

Proprietà Count

Ottiene il numero di oggetti UserPermission contenuti nell'insieme.

Proprietà Item (+1 overload)

Ottiene un oggetto UserPermission.

Informazioni generali sulla classe UserPermission

La classe UserPermission include le proprietà e il metodo seguenti.

Nome Descrizione

Metodo Remove

Rimuove l'oggetto UserPermission corrente dalle autorizzazioni del modulo.

Proprietà ExpirationDate

Ottiene o imposta la data di scadenza facoltativa per le autorizzazioni sul modulo corrente assegnate all'utente associato a un'istanza della classe UserPermission.

Proprietà Permission

Ottiene o imposta un valore che rappresenta le autorizzazioni sul modulo corrente assegnate all'utente associato a un'istanza della classe UserPermission.

Proprietà UserId

Ottiene l'indirizzo di posta elettronica dell'utente le cui autorizzazioni sul modulo corrente sono determinate dall'oggetto UserPermission specificato.

Enumerazione PermissionType

Le autorizzazioni di un utente vengono impostate o lette utilizzando valori di enumerazione PermissionType.

Nome Descrizione

PermissionType.Change

Consente agli utenti di visualizzare, modificare, copiare e salvare un modulo, ma non di stamparlo. Equivale alla combinazione delle autorizzazioni Read, Edit, Save e Extract.

PermissionType.Edit

Consente all'utente di modificare il modulo.

PermissionType.Extract

Consente a un utente che disponga dell'autorizzazione Read di copiare contenuti nel modulo.

PermissionType.FullControl

Consente all'utente di aggiungere, modificare e rimuovere autorizzazioni per altri utenti di un modulo.

PermissionType.ObjectModel

Consente a un utente di accedere al documento del modulo a livello di programmazione tramite il relativo modello a oggetti. Gli utenti che non dispongono dell'autorizzazione ObjectModel non possono utilizzare il modello a oggetti per determinare le proprie autorizzazioni.

PermissionType.Print

Consente all'utente di stampare il modulo.

PermissionType.Read

Consente all'utente di leggere, ovvero di visualizzare, il modulo. Le autorizzazioni Read e View sono equivalenti.

PermissionType.Save

Consente all'utente di salvare il modulo.

PermissionType.View

Consente all'utente di visualizzare, ovvero di leggere, il modulo. Le autorizzazioni Read e View sono equivalenti.

Esempio

Nell'esempio seguente viene ottenuto l'insieme UserPermissionsCollection per il modulo corrente facendo clic sul controllo Pulsante, viene aggiunto e assegnato un utente al livello di accesso Change+++ e viene impostata una data di scadenza di due giorni dalla data corrente.

public void CTRL1_Clicked(object sender, ClickedEventArgs e)
{
   string strExpirationDate = DateTime.Today.AddDays(2).ToString();
   DateTime dtExpirationDate = DateTime.Parse(strExpirationDate);

   this.Permission.UserPermissions.Add("someone@example.com", 
      PermissionType.Change, dtExpirationDate);
}
Public Sub CTRL1_Clicked(ByVal sender As Object, _
   ByVal e As ClickedEventArgs)
   Dim strExpirationDate As String = _
      DateTime.Today.AddDays(2).ToString()
   dtExpirationDate As DateTime = DateTime.Parse(strExpirationDate)

   Me.Permission.UserPermissions.Add("someone@example.com", _
      PermissionType.Change, dtExpirationDate)
End Sub