<p dir="auto"><strong>I'm submitting a ...</strong>  (check one with "x")</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[ ] bug report
[x] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question"><pre class="notranslate"><code class="notranslate">[ ] bug report
[x] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong></p>
<p dir="auto">The <code class="notranslate">canLoad</code> guard is called with the <code class="notranslate">Route</code> as the only argument.</p>
<p dir="auto"><strong>Expected/desired behavior</strong></p>
<p dir="auto">The <code class="notranslate">RouterStateSnapshot</code> of the future state is provided so the URL can be stored. The use case would be redirecting the user to a login page, then returning to the previously attempted URL after logging in.</p>
<p dir="auto"><strong>Reproduction of the problem</strong><br>
If the current behavior is a bug or you can illustrate your feature request better with an example, please provide the steps to reproduce and if possible a minimal demo of the problem via <a href="https://plnkr.co" rel="nofollow">https://plnkr.co</a> or similar (you can use this template as a starting point: <a href="http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5" rel="nofollow">http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5</a>).</p>
<p dir="auto"><strong>What is the expected behavior?</strong></p>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong></p>
<p dir="auto"><strong>Please tell us about your environment:</strong></p>
<ul dir="auto">
<li><strong>Angular version:</strong> 2.0.0-rc.X</li>
<li><strong>Browser:</strong> [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]</li>
<li><strong>Language:</strong> [all | TypeScript X.X | ES6/7 | ES5]</li>
</ul>
<p dir="auto">cc: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vsavkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vsavkin">@vsavkin</a></p>
<p dir="auto"><strong>I'm submitting a ...</strong>  (check one with "x")</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[] bug report =&gt; search github for a similar issue or PR before submitting
[x] feature request
[ ] support request =&gt;"><pre class="notranslate"><code class="notranslate">[] bug report =&gt; search github for a similar issue or PR before submitting
[x] feature request
[ ] support request =&gt;
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong><br>
I try to implement simple app with silent login via auth token (sessionId). If no sessionId provided- fallback to login via username/password.<br>
If i try to navigate to component from synchronously loaded module - in can be  protected with CanActivate guard - we have ActivatedRouteSnapshot with query parameters. If i try to navigate to a lazily loaded component - it is prtoected with CanLoad guard.<br>
CanLoad guard has no access query parameter (?&amp;) or parameter in matrix notation(;) from browser address string - has no ActivatedRouteSnapshot  parameter.</p>
<p dir="auto"><strong>Expected behavior</strong><br>
i expect, that query  parameters (or matrix notation parameters) are available in CanLoad guard via ActivatedRoute parameter.</p>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong><br>
<a href="http://plnkr.co" rel="nofollow">http://plnkr.co</a> has no possibility to use many html pages -&gt; i have prepared modified sample of heroes app from tutorial <a href="https://angular.io/docs/ts/latest/guide/router.html" rel="nofollow">https://angular.io/docs/ts/latest/guide/router.html</a>.<br>
Modified sample can be found at <a href="https://github.com/adoris/tour-of-heroes">https://github.com/adoris/tour-of-heroes</a></p>
<ol dir="auto">
<li>load and prepare app from: <a href="https://github.com/adoris/tour-of-heroes.git">https://github.com/adoris/tour-of-heroes.git</a></li>
<li>ng serve</li>
<li>call browser <a href="http://localhost:4200/index_angular2.html" rel="nofollow">http://localhost:4200/index_angular2.html</a></li>
<li>use any link. First link works as expected with login page.<br>
All other links must be processed without login page, but login page displayed.</li>
</ol>
<p dir="auto">If I call app with this links from my sample app  - i want to proceed without login-screen:<br>
<a href="http://localhost:4200/hero/13?SessionId=98765&amp;Extras1=testextras" rel="nofollow">http://localhost:4200/hero/13?SessionId=98765&amp;Extras1=testextras</a><br>
<a href="http://localhost:4200/heroes;id=13;SessionId=98765;Extras1=testextras" rel="nofollow">http://localhost:4200/heroes;id=13;SessionId=98765;Extras1=testextras</a></p>
<p dir="auto"><strong>Please tell us about your environment:</strong><br>
angular-cli, windows, vs code.</p>
<ul dir="auto">
<li><strong>Angular version:</strong> 2.1.0</li>
</ul>