Lisanslamanın nasıl yapılacağını bildiğini varsayıyorum.
Genel olarak BaseController yaratılır ve tüm controller'lar burdan türer. BaseController içerisinde lisanslama kontrolünü yapabilirsin.

Zaten publish ederek karşı tarafa yükleneceği için dll haline gelecek ve dışarıdan erişilemeyecek. Ekstra güvenlik için kodları da obfuscator ile şifreleyebilirsin.

BaseController örneği.
using System.Web.Mvc;
using System.Web.Routing;

namespace Project.Controllers
{
    public class BaseController : Controller
    {
        public BaseController() { }

        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);

            // lisans kontrolünü burada yapabilirsin
        }

        protected override void OnException(ExceptionContext filterContext)
        {
            base.OnException(filterContext);

            if (filterContext.ExceptionHandled)
            {
                Response.Redirect("~/Error/Index");
            }
        }
    }
}