# Supported Customization Points

IntelliLock Web Management is a licensed product, not an open-source project. Selected source files are intentionally included so a customer can adapt business-specific behavior without modifying authentication, encryption, migration or database infrastructure.

This chapter is for developers and advanced integrators. Normal License Server use does not require source-code changes.

# Delivered components

Component Delivery and purpose
Eziriz.WebManagement.Core.dll Compiled product core: setup, security, database infrastructure, migrations and shared services. The delivered DLL is not obfuscated or IntelliLock-protected.
Eziriz.WebManagement.Contracts.dll Public request/result types and stable customization contracts.
ASPX, CSS and images Open for layout and branding changes.
License-generation customization Open C# hooks for changing the generated file and surrounding workflow.
Validation and Floating validation Open C# integration logic so additional customer columns or policy checks can be evaluated.
E-commerce handlers Open integration layer for adding or adapting commerce providers.
Custom-table wrappers Generated C# source owned by the customer.

The binary boundary is an update boundary, not a claim that a .NET DLL cannot be decompiled. The accompanying license terms still apply to every component.

# License-generation hooks

Use the files under App_Code/Customization for supported changes around license generation. Hooks can inspect documented request objects, add custom license information, change a download file name and observe the completed result. For a Floating license, FloatingLicenseServiceUrl selects the endpoint and FloatingLicenseSendComputerAndUserName controls the optional client identity setting before the file is generated.

Keep custom business behavior in these files instead of changing security or database internals. During an upgrade, compare any newly delivered contracts and examples before copying the existing customization folder into a test site.

# Validation and Floating extensions

The public validation source may read additional custom Customer, Product, License or FloatingLicense columns and apply customer-specific rules. Preserve the existing protocol parsing, identity matching and conservative legacy fallback when adding such checks.

For Floating Licensing, new client metadata must remain optional and appended in an extension that older clients and older servers can ignore. Do not change the meaning or byte positions of the established registration, ping and disconnect messages.

Treat computer and user names as personal data. Collect them only when the software vendor enables the corresponding license option and has a lawful, documented reason to show them to that vendor's server operator.

# E-commerce extensions

New provider handlers should normalize events into the existing commerce model, verify signatures before doing any work, reject replays/duplicates and place mail in the persistent outbox. Never log provider secrets or raw payment credentials.

# Custom tables and wrappers

Use System & Advanced > Table Manager to add a custom table or columns. Built- in security and service tables are intentionally hidden or protected.

For a custom table with exactly one primary key, Download C# Table Wrapper generates strongly typed row and collection classes for the current schema. Regenerate the wrapper after changing its columns. Text primary keys receive a GUID default; integer primary keys remain SQLite-managed.

Custom table and C# wrapper download
Custom table and C# wrapper download

# Source-file encoding

Deployable .aspx, .master, .cs, .asax, .ashx, .asmx and .config files must be UTF-8 with BOM. Preserve the repository .editorconfig; otherwise older ASP.NET CodeDom compilers can interpret Unicode source as Windows-1252 and render corrupted characters.