2015-06-02 17 views
6

Mamy aplikację C# i musimy ją zabezpieczyć przed nielegalnym kopiowaniem. Dlatego postanowiliśmy użyć biblioteki Portable.Licensing, aby chronić nasz system.Przenośne. Licencjonowanie jak powiązać licencję z komputerem PC

W jaki sposób mogę powiązać licencję z identyfikatorem sprzętowym w wersji Portable.Licensing, aby tylko określony komputer mógł korzystać z licencji?

Odpowiedz

7

Możesz wygenerować unikatowy skrót na nazwę komputera, informacje o sprzęcie itp. I dodać ten skrót podczas tworzenia licencji jako Additional Attribute.

Przykład tworzenia licencji:

var license = License.New() 
    .WithUniqueIdentifier(Guid.NewGuid()) 
    .As(LicenseType.Standard)  
    .WithMaximumUtilization(1) 
    .WithAdditionalAttributes(new Dictionary<string, string> 
           { 
            {"HardwareId", "........"} 
           }) 
    .LicensedTo("John Doe", "[email protected]") 
    .CreateAndSignWithPrivateKey(privateKey, passPhrase); 

Aby sprawdzić poprawność atrybutu można zaimplementować własną metodę rozszerzenia walidacji lub po prostu wykorzystać istniejące AssertThat(). Przykład: [1]

Generowanie unikalnego identyfikatora sprzętu wykracza poza zakres licencjonowania przenośnego.

[1] https://github.com/dnauck/Portable.Licensing/blob/develop/src/Portable.Licensing/Validation/LicenseValidationExtensions.cs#L100

+0

Jak potwierdzić? –

1

Można zadzwonić AsserThat metoda:

license.Validate() 
.AssertThat(lic => lic.ProductFeatures.Get("HardwareId") == "133456", new GeneralValidationFailure() { Message="Invalid Hardware.", HowToResolve="Contact administrator"}); 
Powiązane problemy