2016-08-08 2 views
1

Мне нужно защитить приложение Asp.Net Web Api 2.2, используя Portable.Licensing. Я организовал приложение, создав несколько Asp.Net Areas. Ex:Лицензирование Приложение Asp.Net с Portable.Licensing

  1. Ядро
  2. Учет
  3. Human Resource
  4. Инвентарь

мне нужно лицензировать каждый Areas. Если клиент купил модуль учета, то только он должен иметь доступ к функциям учета. В противном случае я должен отобразить сообщение об ошибке.

А также я хотел бы создать неповторимый машинный ключ для защиты программного обеспечения от пиратства.

Так как я могу использовать портативное лицензирование с областями Asp.Net? Где/В какой момент лицензия должна быть проверена?

Может ли кто-нибудь помочь мне достичь моего требования, предоставив некоторые инструкции? Предоставление образца кода высоко ценится !.

ответ

1

Для всех бродя же:

Ну, в принципе, как осуществлять лицензирование в вашем приложении - это зависит! Никакой серебряной пули, как всегда.

Я потратил половину дня на изучение портативного.Лицензирования, и вот что приходит мне в голову: В Portable.Licensing у вас есть метод «WithProductFeatures» в беглой api для добавления пользовательских данных для лицензии, а ваши области - это просто - особенности продукта. Но где вставить проверку на это - зависит от количества факторов:

  1. Насколько вы заботитесь о производительности решения?
  2. Сколько вам нужно, чтобы люди просто растрескивали IL?

Если вы заботитесь больше о производительности, то о людях, изменения сборки легко и получать взломанную версию - вы можете сохранить имеющиеся данные по функциям от лицензии на какой-то кэш-памяти и доступ к нему в:

  • Каждый метод контроллера WebAPI
  • Базовый контроллер для WebAPI контроллеров (OnActionExecuting является хорошим кандидатом)
  • фильтра для WebAPI (here некоторые хороший пример)

И если вы считаете, что пытаетесь защитить ваш код - распространять данные о проверке лицензий на эти места и добавлять их с помощью Fody (я просто планирую его реализовать, поэтому никакой образец кода - просто ссылка на библиотеку here) t сделать жизнь пиратов так же легко, как изменение ИЛ 1 метода :)