根据URL阻止Angular2进行自举

时间:2016-08-05 23:04:19

标签: asp.net asp.net-mvc angular angular2-routing

我的angular 2应用程序内置于ASP.Net MVC架构中。由于过时的遗留系统,我使用ASP.Net MVC控制器和视图来处理基于登录和cookie的身份验证。

然而,当我导航到"〜/ account / login"控制台充斥着大约350,000个角度误差:

  

未捕获的SyntaxError:意外的标记<

  

异常:./AppComponent类中的错误AppComponent_Host - 内联模板:0:0

也许最有说服力的

  

原创例外:选择器" my-app"与任何元素都不匹配

所以它引导我的角度应用程序并寻找应用程序选择器。我不需要应用程序在登录页面启动,因为那是旧版垃圾邮件。一切都工作正常,但我讨厌在有人登录时充斥错误的控制台......

我的引导程序:

import { bootstrap }    from '@angular/platform-browser-dynamic';
import { HTTP_PROVIDERS } from '@angular/http';

import { AppComponent } from './app.component';
import { appRouterProviders } from './app.routes';

bootstrap(AppComponent, [
    HTTP_PROVIDERS,
    appRouterProviders

]).catch(err => console.error(err));

所以我最好的猜测是这可以在Application_BeginRequest中的Global.asax.cs中处理,尽管我可能会离开......

    protected void Application_BeginRequest(Object sender, EventArgs e)
    {
        var path = Request.Url.AbsolutePath;

        // To allow access to api via url:
        var isApi = path.StartsWith("/CW/api", StringComparison.InvariantCultureIgnoreCase);
        // To allow direct access to my account controller:
        var isAccount = path.StartsWith("/CW/account", StringComparison.InvariantCultureIgnoreCase);
        if (isApi || isAccount)
        {
            return;
        }

        if (!System.IO.File.Exists(Context.Server.MapPath(path)))
            Context.RewritePath(RootUrl);
    }

0 个答案:

没有答案