How you create the login page depends on the programming language and toolset you use. This is largely outside the scope of this document. You can use any programming language that can be used for web development to create an external captive portal.
The content on the login page depends on the overall environment the ECP serves. It can contain as little as terms and conditions and a button to indicate acceptance, or it can contain fields necessary to submit a user ID and password.
The redirected request contains the attributes configured on the ECP configuration dialog. Attributes can be used to decorate the login page, and other information can be input to the authentication process. For example, a user may be considered authenticated only after logging in from one of a specific set of APs.