// *************************************************************************** // // Delphi MVC Framework // // Copyright (c) 2010-2020 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // // *************************************************************************** // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // *************************************************************************** } unit MVCFramework.Tests.WebModule1; interface uses System.SysUtils, System.Classes, Web.HTTPApp, MVCFramework, System.Generics.Collections; type TTestWebModule1 = class(TWebModule) procedure WebModuleCreate(Sender: TObject); procedure WebModuleDestroy(Sender: TObject); private FMVCEngine: TMVCEngine; public { Public declarations } end; var TestWebModuleClass: TComponentClass = TTestWebModule1; implementation uses MVCFramework.Tests.RESTClient, MVCFramework.Middleware.Authentication, MVCFramework.Tests.AppController, MVCFramework.Server, MVCFramework.Server.Impl; {$R *.dfm} procedure TTestWebModule1.WebModuleCreate(Sender: TObject); begin FMVCEngine := TMVCEngine.Create(Self); // Add Controller FMVCEngine.AddController(TAppController); FMVCEngine.AddMiddleware(TMVCBasicAuthenticationMiddleware.Create( TMVCDefaultAuthenticationHandler.New .SetOnAuthentication( procedure(const AUserName, APassword: string; AUserRoles: TList; var IsValid: Boolean; const ASessionData: TDictionary) begin IsValid := AUserName.Equals('dmvc') and APassword.Equals('123'); end ) )); end; procedure TTestWebModule1.WebModuleDestroy(Sender: TObject); begin FMVCEngine.Free; end; end.