…t on-demand
The request service is not available for injection during boot time, since it originates during the HttpKernel::handle() invocation. SimpleCAS itself ends up being constructed before the first request is handled, since the kernel loads the TicketValidator request listener, which depends on SimpleCAS.
To solve this dependency problem, inject HttpKernel into SimpleCAS and use it as a dynamic request container. Additionally, this will make getCurrentUrl() more accurate if called during a sub-request, as SimpleCAS will never store a stale request object.