←Select platform

UserToken Property

Summary

User token associated with the document.

Syntax
C#
C++/CLI
Python
public string UserToken {get; set;} 
public:  
   property String^ UserToken 
   { 
      String^ get() 
      void set(String^ value) 
   } 
UserToken # get and set (LEADDocument) 

Property Value

The user token associated with the document. The default value is null.

Remarks

User tokens can optionally be used with a document to restrict usage. Refer to Loading Using LEADTOOLS Document Library for more information.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
 
using Leadtools.Document; 
using Leadtools.Caching; 
using Leadtools.Annotations.Engine; 
using Leadtools.Ocr; 
using Leadtools.Barcode; 
using Leadtools.Document.Converter; 
 
public void UserTokenExample() 
{ 
   var cache = GetCache(); 
 
   var documentUri = new Uri("https://demo.leadtools.com/images/pdf/leadtools.pdf"); 
   const string documentId = "document-with-token"; 
   const string userToken = "my-secret"; 
 
   // Load from the URI without a token 
   var loadDocumentOptions = new LoadDocumentOptions(); 
   loadDocumentOptions.Cache = cache; 
   loadDocumentOptions.DocumentId = documentId; 
   Console.WriteLine("Loading a document into the cache without a user token"); 
   using (var document = DocumentFactory.LoadFromUri(documentUri, loadDocumentOptions)) 
   { 
      // Make sure it does not have a user token 
      Assert.IsNull(document.UserToken); 
 
      document.AutoSaveToCache = false; 
      document.AutoDeleteFromCache = false; 
      document.SaveToCache(); 
   } 
 
   // Load from cache 
   var loadFromCacheOptions = new LoadFromCacheOptions(); 
   loadFromCacheOptions.Cache = cache; 
   loadFromCacheOptions.DocumentId = documentId; 
   loadFromCacheOptions.UserToken = null; 
 
   // This should work 
   Console.WriteLine("Loading the document from the cache without a user token"); 
   using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) 
   { 
      // Make sure it does not have a user token 
      Assert.IsNotNull(document); 
   } 
 
   // Load it again and set the token 
   Console.WriteLine("Setting the document user token and saving it into the cache"); 
   using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) 
   { 
      // Make sure it does not have a user token 
      Assert.IsNull(document.UserToken); 
 
      // Set a token 
      document.UserToken = userToken; 
      document.SaveToCache(); 
   } 
 
   // This should fail 
   Console.WriteLine("Loading the document without a user token"); 
   using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) 
   { 
      // Make sure it did not load 
      Assert.IsNull(document); 
   } 
 
   // This should work 
   loadFromCacheOptions.UserToken = userToken; 
   Console.WriteLine("Loading the document with a user token"); 
   using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) 
   { 
      // Make sure it has the same user token 
      Assert.IsNotNull(document); 
      Assert.AreEqual(userToken, document.UserToken); 
   } 
 
   // This should fail 
   loadFromCacheOptions.UserToken = null; 
   Console.WriteLine("Deleting the document without a user token"); 
   bool isDeletedFromCache = DocumentFactory.DeleteFromCache(loadFromCacheOptions); 
   // Make sure it did not get deleted 
   Assert.IsFalse(isDeletedFromCache); 
 
   // This should work 
   loadFromCacheOptions.UserToken = userToken; 
   Console.WriteLine("Deleting the document with a user token"); 
   isDeletedFromCache = DocumentFactory.DeleteFromCache(loadFromCacheOptions); 
   // Make sure it got deleted 
   Assert.IsTrue(isDeletedFromCache); 
} 
 
 
public ObjectCache GetCache() 
{ 
   // Create a LEADTOOLS FileCache object 
 
   var cacheDir = Path.Combine(LEAD_VARS.ImagesDir, "cache"); 
   if (Directory.Exists(cacheDir)) 
      Directory.Delete(cacheDir, true); 
 
   Directory.CreateDirectory(cacheDir); 
 
   var cache = new FileCache(); 
   cache.CacheDirectory = cacheDir; 
 
   return cache; 
} 
 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.4.21
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.