不能访问我的方法,删除我的api休止符
我无法访问我的API休息的删除方法. 如果我编写这样的方法,则可以使用: [Route("api/Document/{documentId:int}")] [HttpDelete] public IHttpActionResult Delete([FromUri]int documentId,[FromBody] int [] documentsId) { try { documentCtrl = documentCtrl ?? new DocumentCtrl(); return Ok(documentCtrl.Delete(documentsId)); } catch (DocumentNotFoundException) { return NotFound(); }
0 2024-04-24
编程技术问答社区
MVC 6路由,SPA回退+404错误页面
带有 rc1 .我已经绘制了一个" spa-fallback"路由,该路由将确保HomeController和Index视图是这样的默认值: public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { // ... omitted for brevity app.UseExceptionHandler("/Home/Error"); app.UseStatusCodePagesWithRedirects("/Home/Error/{0}"); app.UseMvc(routes => { routes.MapRoute("default", "{controller=Home}/{acti
0 2024-04-15
编程技术问答社区
构建后Angular-未处理的导航错误
我已经通过以下命令构建了一个带有2个路由的简单角应用: ng build --aot --prod --base-href ./ 然后,我打开位于dist文件夹中的index.html文件,并且应用程序运行,但路线不起作用,我会在控制台上收到以下警告: 希望能很好地解释我的问题.预先感谢. 解决方案 使用角路由引擎将迫使您托管您的应用程序(例如 iis ,一个没有路由的简单Angular应用程序可以运行而无需在服务器上托管它. 来自 angular docs : Angular应用程序是使用简单静态HTML服务器服务的理想候选.您不需要服务器端引擎即可动态撰写应用程序页面,因为Angular在客户端上这样做. 如果应用使用角路由器,则必须配置服务器以返回应用程序的主机页面(index.html),当时询问没有它的文件. 其他解决方案 如果使用哈希路由并定义基本HREF,则可以在index.html中定义基本HREF. 如下.
0 2024-04-05
编程技术问答社区
Angular 2: 防止路由器添加到历史记录中
我们有一个客户在我们的应用程序中将其引入其网站.他们不希望我们应用程序中的路由器导航影响其自己网站的后退按钮导航. 我们尝试了几种方法,包括使用发布消息尝试并在触发histry.back()时与父窗口进行通信. 我的问题是,使用Angular 2的路由器时,是否有任何简单的方法不影响浏览器的历史记录.据我所知,我在Angular 2的高级路由器文档中找不到任何东西: 解决方案 事实证明,Angular 2的路由可以跳过历史记录,这是一种内置方式.实际上,我们发现它通过编辑器Intellisense内部的随机属性进行检查. 我们的路由代码只需要从: this.router.navigate([`/myPage/${this.Id}`], { relativeTo: this.route }); to: this.router.navigate([`/myPage/${this.Id}`], { relativeTo: this.route, skipL
0 2024-04-04
编程技术问答社区
Angular:当用户点击浏览器的后退按钮时,将其带回到主页。
如果用户在我的Angular平台中,我想将用户单击浏览器的后台时,将用户带到主页. 还有一个边缘盒,要处理, 如果用户通过Google搜索,FB或Direct Enter inter link来到我们的平台,那么我们将无法进行这种行为,但是如果他已经在我们的平台中四处漫游,那么我们不希望每个返回按钮将用户带回家. 即. 用户输入链接,然后按按钮=>带他回家. 用户输入链接,现在单击一个按钮或链接,然后更改了应用程序状态,现在用户单击浏览器back back back back back back =>将用户返回previos页面(正常行为) 演示: 单击下面的链接,然后单击Google搜索上的第一个链接,然后尝试击中浏览器后退按钮,您将看到它带您到主页. 我尝试使用PushState() 实现它 ngAfterViewInit() { console.log('init called'); var x = document.refe
6 2024-04-04
编程技术问答社区
在Azure中托管带有路由的Angular2应用程序
我使用角CLI在Angular 2中开发一个应用程序.该应用程序正常运行,当我在Azure部署时运行正常,但是路由不起作用.我可以通过" myapp.azurewebsites.net"访问我的应用程序,但是如果我尝试" myapp.azurewebsites.net/settings",我会遇到404错误.我找到了许多指南,并有许多不同的方式使不同的服务器将所有内容都路由一个索引文件路由,但是没有一个奏效.就像提供所以,我的问题由两个部分组成. 1. Azure中哪种Web应用模板最适合托管Angular2应用程序? 这只是Angular2编写的一个页面应用程序.不是包裹在ASP.NET MVC应用程序中的那种. 2.我如何配置该网络应用以使用我在Angular 中配置的路由 解决方案 Azure中哪种Web应用模板最适合托管Angular2应用程序? 我们一直在标准Azure" Web应用程序"模板中托管NG2站点,因为它只是一个基本的IIS网站模板,可用于
4 2024-03-26
编程技术问答社区
azure上的angular2应用程序"您无权查看此目录或页面"
我已经发布了一个Angular2应用程序,并将其部署在Azure Web应用程序上.如果我通过浏览其词根开始,该应用程序正常工作: http://cafeserver.azurewebsites.net/web/ 但是,如果我直接浏览到应用程序中的子路由,例如: http://cafeserver.azurewebsites.net/web/web/customers 它将引发一个错误,说"您无权查看此目录或页面". 如何解决此问题? 解决方案 您需要更新web.config将所有路由重定向到索引页面,以使角路由可以启动.我使用以下配置将SPA部署到Azure:
8 2024-03-23
编程技术问答社区
在Azure托管的Angular2页面刷新时出现404。
我正在使用Angular2应用程序.它使用"@angular/common":" 2.0.0-rc.4"和"@angular/router":" 3.0.0-beta.2". 我的问题是,当我在某些页面上使用浏览器刷新时,我会看到一个错误... " 您要寻找的资源已被删除,更改了名称或暂时无法使用." 如果我直接击中URL,也会发生这种情况. 一个示例URL是... 但是,如果您可以通过主页查看页面,则只能进行刷新( https://filecasev2.azurewebsites.net.net ). 我在我的index.html头上有以下内容... 为什么会发生这种情况以及我该如何修复? 解决方案 HashLocationStrategy通过在您的所有角路线中加入a #来避免问题 要使无悬浮桥的角路线与在本地开发环境中相同的方式使用,您只需要配置IIS即可将所有请求重写为root.这使角可以处理路由
4 2024-03-23
编程技术问答社区
angular 2 azure部署刷新错误。您要找的资源已被删除,名称已被更改,或暂时不可用。
i具有实现基本路由的Angular 2 RC-2应用程序.路径为/path1,这是默认路径,/path2.home路径/重定向到/path1.当我在本地运行(Lite-Server)时,一切正常.我设法将此应用程序部署到Azure Web应用程序中.该应用程序可以正常运行,但是如果我在/path1或/path2中刷新页面,则会得到此错误:The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 一种可能的方法是实现URL重写.我在项目中添加了一个web.config
2 2024-03-23
编程技术问答社区
Angular 2中的认证,处理可观察因素
我刚从一个Angular 2项目开始,并试图启动并运行身份验证.受启发. 每当称为URL时,创建一个自定义路由器类别(将其扩展)来处理身份验证逻辑. 我在此自定义类中取得了成功,但仍然不确定如何检查用户是否已进行身份验证.我的情况如下所示,我需要查询呼叫外部API,因为我的开发过程如下: getAdmin() { let headers = new Headers({ 'Content-Type': 'application/json' }); let options = new RequestOptions({ headers: headers }); return this.http.get('http://localhost:3000/admin/is_admin.json', options) .map(res => res) .catch(this.handleError) } 此API调用返回对还是
6 2024-03-20
编程技术问答社区
Auth0和angular2:如何设置callbackURL和捕捉token?
我正在尝试使用 auth0 和 angular2-webpack-starter 和表单正常显示,并使用此代码发送身份验证电子邮件: this.lock.magiclink({ callbackURL:"http://localhost:3000/#/sandbox" }); 我在电子邮件中单击魔术链接后发生的问题: 即使魔术链接的redirect_uri似乎正确(redirect_uri = http%3A%2f%2f flocalost%3A3000%2f%2f%23%2fsandbox),也被忽略; 取而代之的是,在成功登录后(在Auth0日志中检查)后,地址栏中的URL为(简短): yy&email = myemail@ emails.com (请注意#而不是预期的问号) 然后(第二秒左右)将其重定向到: 我的问题是: 如何将auth0实际上重定向到callbackurl? 即使URI错误地构成了新的Angular2路由器
20 2024-03-20
编程技术问答社区
在手动URL导航上管理用户的认证状态
我正在使用ASP.NET Core MVC使用Angular2,并且管理手册URL导航工作正常,服务器正在成功地加载我的家庭视图. 在用户身份验证上,我正在设置这样的会话变量: HttpHelper.HttpContext.Session.SetString("isLoggedIn", true.ToString() ); 我想要的是,在用户进入应用程序之后,如果他想通过手动导航来加载特定路线,我希望我的服务致电我的ASP控制器,以检查用户是否已经进行了认证,以便我的警卫允许路由.相反,默认情况下,后卫设置为false,我显然会重定向到我的登录页面. 这是我要调用的ASP控制器方法,以更新我的auth.service中的ISLOGGEDIN值: [HttpGet] public IActionResult IsConnectedState() { if (!String.IsNullOrWhiteSpace(HttpHelper.HttpContext
2 2024-03-20
编程技术问答社区
在Angular 2中使用CanActivate,"没有AuthGuard的提供者!"。
编辑:显然这已经过时了,现在您在ngmodule中的providers数组提供了警卫.观看其他答案或官方文档以获取更多信息. 在组件上的引导 provideRouter()也已经过时 我正在尝试使用Angular2指南中的登录名和authguard在项目中设置身份验证: https://angular.io/docs/ts/latest/guide/router.html 我正在使用该版本:"@angular/router":" 3.0.0-beta.1". 我会尽量解释,随时告诉我您是否需要更多细节. 我有我的 main.ts 文件,该文件用以下代码boostarpe the应用程序: bootstrap(MasterComponent, [ APP_ROUTER_PROVIDERS, MenuService ]) .catch(err => console.error(err)); 我加载了MasterComponent,它加
12 2024-03-19
编程技术问答社区
LoggedInOutlet angular2 authentication-Router v3.0.0-alpha8-ComponentInstruction在哪里?
我正在使用这样的代码来扩展Routeroutlet并创建应用程序广泛的身份验证和路由保护 import {Directive, Attribute, ViewContainerRef, DynamicComponentLoader} from '@angular/core'; import {Router, ComponentInstruction} from '@angular/router'; import {Router} from '@angular/router'; import {RouterOutletMap} from '@angular/router/src/router_outlet_map'; import {RouterOutlet} from '@angular/router/src/directives/router_outlet'; import {Authentication} from '../common/authentication.serv
Angular2路由canActivate和带有用户角色参数的AuthGuard(JWT)。
在此 exaple project我们SE如何仅允许身份验证的用户进入某种路线: import { RouterConfig } from '@angular/router'; import { Home } from './home'; import { Login } from './login'; import { Signup } from './signup'; import { AuthGuard } from './common/auth.guard'; export const routes: RouterConfig = [ { path: '', component: Login }, { path: 'login', component: Login }, { path: 'signup', component: Signup }, { path: 'home', component: Home, canActivate:
6 2024-03-19
编程技术问答社区
Angular重定向到登录页面
我来自ASP.NET MVC世界,在该世界中,试图访问他们未经授权的页面的用户将自动重定向到登录页面. 我试图在角度重现这种行为.我来了@Canactivate Decorator,但它根本不会渲染组件,没有重定向. 我的问题是: Angular是否提供了实现此行为的方法? 如果是这样,怎么样?这是一个好习惯吗? 如果没有,在Angular中处理用户授权的最佳实践是什么? 解决方案 更新:我已经发布了一个完整的骨架 Angular 2带有Angular 2 Project OAuth2集成在GitHub上显示了下面提到的指令. 一种方法是通过使用directive.与Angular 2 components不同,它基本上是您插入页面中的新的HTML标签(带有关联的代码),归因指令是您将属性插入的属性,该属性会导致某些行为发生. docs在这里. 您的自定义属性的存在会导致您放置该指令的组件(或HTML元素)发生的事情.请考虑我用于当前的Angul
0 2024-03-19
编程技术问答社区
angular2 router.navigate inside auth0 callback
我在调用路由器后呈现模板的问题. logincomponent.ts import {Component, Inject} from 'angular2/core'; import {Router, ComponentInstruction} from 'angular2/router'; import {Auth} from '../auth'; declare var Auth0Lock; @Component({ selector: 'login', templateUrl: '/tpls/login/login.html' }) export class LoginComponent { private lock = new Auth0Lock('xxx', 'xxx.auth0.com'); constructor(@Inject(Router) private router: Router, @Inject(Auth) pr
16 2024-03-19
编程技术问答社区
在Angular 2中调用组件刷新
我正在尝试实现一个基于用户是否登录的链接. 我正在使用提供tokenNotExpired()函数的angular2-jwt库. 我有2条路线,/home和/login.我有一个Navbar组件,该组件在之外,这意味着它仅初始化一次,也不是每次路线更改时. 成功登录后,我正在调用router.navigate(['/home]).房屋和登录都有检查用户是否在其各自的ngOnInit()功能中登录的检查.因此,家庭组件能够检测到已登录的用户. 但是,我无法更新Navbar,因为它没有被告知登录. 任何人都可以告诉我正确实施此更改检测的正确方法吗? 谢谢. 解决方案 通过服务公开登录状态 @Injectable() export class UserAuthService{ userLoggedIn : bool = false; //call this function when login s
8 2024-03-19
编程技术问答社区
如何将HashLocationStrategy与Auth0 Lock小部件一起用于用户登录
更新 auth0 auth0 login login sampam 在app.module.ts中使用HashLocationStrategy: import { LocationStrategy, HashLocationStrategy } from '@angular/common'; // (...) @NgModule({ providers: [ {provide: LocationStrategy, useClass: HashLocationStrategy}, appRoutingProviders, AUTH_PROVIDERS ], //(...) Auth0 Lock authenticated事件已不再提高: import { Injectable } from '@angular/core'; import { tokenNotExpired } from 'angular2-jwt'; // Avoid
4 2024-03-19
编程技术问答社区