Guida introduttiva: Elencare i modelli (C#)Quickstart: List Templates (C#)

Questo Avvio rapido illustra come usare l'API Protezione SDK di MIP per elencare i modelli di protezione disponibili per l'utente.This Quickstart shows you how to use the MIP SDK Protection API to list the protection templates available to the user.

PrerequisitiPrerequisites

Se non è già stato fatto, completare i prerequisiti seguenti prima di continuare:If you haven't already, be sure to complete the following prerequisites before continuing:

Aggiungere la logica per elencare i modelli di protezioneAdd logic to list the protection templates

Aggiungere la logica per elencare i modelli di protezione disponibili per un utente, usando l'oggetto motore Protezione.Add logic to list protection templates available to a user, using the Protection engine object.

  1. Aprire la soluzione di Visual Studio creata nell'articolo precedente "Avvio rapido: Inizializzazione delle applicazioni client - API Protezione (C#).Open the Visual Studio solution you created in the previous "Quickstart - Client application initialization - Protection API (C#)" article.

  2. Usare Esplora soluzioni per aprire il file con estensione cs nel progetto che contiene l'implementazione del metodo Main().Using Solution Explorer, open the .cs file in your project that contains the implementation of the Main() method. Per impostazione predefinita il file ha lo stesso nome del progetto che lo contiene, specificato durante la creazione del progetto.It defaults to the same name as the project containing it, which you specified during project creation.

  3. Verso la fine del corpo Main(), sopra la sezione dell'arresto dell'applicazione della funzione Main(), nel punto in cui è stata interrotta la procedura di Avvio rapido precedente, inserire il codice seguente:Toward the end of the Main() body, above the application shutdown section of the Main() function (where you left off in the previous QuickStart), insert the following code:

// List protection templates using protectionEngine and display the list

var templates=protectionEngine.GetTemplates();

for(int i = 0; i < templates.Count; i++)
{
    Console.WriteLine("{0}: {1}", i.ToString(), templates[i].Name + " : " + templates[i].Id);
}

Console.WriteLine("Press a key to continue...");

Compilare e testare l'applicazioneBuild and test the application

Infine, compilare e testare l'applicazione client.Finally, build and test your client application.

  1. Usare CTRL+MAIUSC+B (Compila soluzione) per compilare l'applicazione client.Use CTRL-SHIFT-B (Build Solution) to build your client application. Se non si registrano errori di compilazione, premere F5 (Avvia debug) per eseguire l'applicazione.If you have no build errors, use F5 (Start debugging) to run your application.

  2. Se il progetto viene compilato ed eseguito correttamente, l'applicazione potrebbe richiedere l'autenticazione tramite ADAL ogni volta che il SDK chiama il metodo AcquireToken().If your project builds and runs successfully, the application may prompt for authentication via ADAL each time the SDK calls your AcquireToken() method. Se esistono già credenziali memorizzate, nella cache non verrà richiesto di eseguire l'accesso e visualizzare l'elenco delle etichette.If cached credentials already exist, you won't be prompted to sign in and see the list of labels.

    Accesso per l'acquisizione del token in Visual StudioVisual Studio acquire token sign-in

    • Potrebbe anche essere necessario dare il consenso, per permettere all'applicazione di accedere alle API MIP mentre viene eseguita con l'account di accesso.You may also need to give consent, to allow the application to access the MIP APIs, while running under the sign-in account. Ciò si verifica quando non è già stato dato il consenso per la registrazione dell'applicazione in Azure AD (come descritto in "Installazione e configurazione di MIP SDK") o si accede con un account da un tenant diverso da quello in cui è registrata l'applicazione.This happens when the Azure AD application registration isn't pre-consented (as outlined in "MIP SDK setup and configuration"), or you're signing in with an account from a different tenant (other than the one where your application is registered). È sufficiente fare clic su Accetta per registrare il consenso.Simply click Accept to record your consent.

      Consenso in Visual StudioVisual Studio consent

  3. Dopo l'autenticazione l'output della console visualizzerà i modelli di protezione per l'utente autenticato, in modo simile all'esempio seguente:After authentication, your console output should show the protection templates for the authenticated user, similar to the following example:

0: Confidential \ All Employees : a74f5027-f3e3-4c55-abcd-74c2ee41b607
1: Highly Confidential \ All Employees : bb7ed207-046a-4caf-9826-647cff56b990
2: Confidential : 174bc02a-6e22-4cf2-9309-cb3d47142b05
3: Contoso Employees Only : 667466bf-a01b-4b0a-8bbf-a79a3d96f720
Press a key to continue.

Nota

Copiare e salvare l'ID di uno o più dei modelli di protezione (ad esempio bb7ed207-046a-4caf-9826-647cff56b990), perché verranno usati nell'Avvio rapido successivo.Copy and save the ID of one or more of the protection templates (for example, bb7ed207-046a-4caf-9826-647cff56b990), as you will use it in the next Quickstart.

Risoluzione dei problemiTroubleshooting

Problemi durante l'esecuzione dell'applicazione C#Problems during execution of C# application

RiepilogoSummary Messaggio di erroreError message SoluzioneSolution
Token di accesso non validoBad access token An exception occurred... is the access token incorrect/expired?

Failed API call: profile_add_engine_async Failed with: [class mip::PolicySyncException] Failed acquiring policy, Request failed with http status code: 401, x-ms-diagnostics: [2000001;reason="OAuth token submitted with the request cannot be parsed.";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) exited with code 0.

Press any key to close this window . . .
An exception occurred... is the access token incorrect/expired?

Failed API call: profile_add_engine_async Failed with: [class mip::PolicySyncException] Failed acquiring policy, Request failed with http status code: 401, x-ms-diagnostics: [2000001;reason="OAuth token submitted with the request cannot be parsed.";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) exited with code 0.

Press any key to close this window . . .
Se il progetto viene compilato correttamente, ma viene visualizzato un output simile a quello riportato a sinistra, è probabile che il token nel metodo AcquireOAuth2Token() sia non valido o scaduto.If your project builds successfully, but you see output similar to the left, you likely have an invalid or expired token in your AcquireOAuth2Token() method. Tornare a Compilare e testare l'applicazione e rigenerare il token di accesso, aggiornare di nuovo AcquireOAuth2Token(), quindi ripetere compilazione e test.Go back to Build and test the application and regenerate the access token, update AcquireOAuth2Token() again, and rebuild/retest. È anche possibile esaminare e verificare il token e le relative attestazioni usando l'applicazione Web a pagina singola jwt.ms.You can also examine and verify the token and its claims, using the jwt.ms single-page web application.

Passaggi successiviNext Steps

Ora che si è appreso come elencare i modelli di protezione disponibili per l'utente autenticato, provare l'Avvio rapido successivo:Now that you've learned how to list the protection templates available for authenticated user, try the next quickstart: