如果服务器返回401响应,则重定向到登录页面(Redirect to login page if server returns 401 response)

如果是401响应,我如何拦截服务器端点响应并将aurelia应用程序重定向到登录页面?

我尝试了aurelia-fetch-client配置的“withInterceptor(responseError(){...})”方法,但我无法返回“new Redirect(loginPage)”...

任何人都知道如何做到这一点?

How can I intercept the server endpoint response and redirect an aurelia application to login page if is a 401 response?

I tried "withInterceptor(responseError() {...})" method of aurelia-fetch-client config, but I cannot return a "new Redirect(loginPage)"...

Anyone has an idea how to do it?

原文:https://stackoverflow.com/questions/38611321

更新时间:2019-12-01 11:30

最满意答案

这是一个例子:

import { HttpClient } from 'aurelia-fetch-client';

import { inject } from 'aurelia-framework'

import { Router } from 'aurelia-router'

@inject(HttpClient, Router)

export class UserService {

http

router

constructor(http, router) {

this.http = http

this.router = router

this.http.configure(config => {

var self = this;

config

.withInterceptor({

responseError(response) {

if (response.status === 401) {

self.router.navigateToRoute('login')

}

return response; // you can return a modified Response

},

});

});

}

Here's an example:

import { HttpClient } from 'aurelia-fetch-client';

import { inject } from 'aurelia-framework'

import { Router } from 'aurelia-router'

@inject(HttpClient, Router)

export class UserService {

http

router

constructor(http, router) {

this.http = http

this.router = router

this.http.configure(config => {

var self = this;

config

.withInterceptor({

responseError(response) {

if (response.status === 401) {

self.router.navigateToRoute('login')

}

return response; // you can return a modified Response

},

});

});

}

相关问答

这是一个例子: import { HttpClient } from 'aurelia-fetch-client';

import { inject } from 'aurelia-framework'

import { Router } from 'aurelia-router'

@inject(HttpClient, Router)

export class UserService {

http

router

constructor(http, router) {

th

...

401是HTTP状态代码“Unauthorized”,当提供的凭证无效(用户名/密码不正确)时,将从服务器发回。 检查您是否正在发送正确的信息。 此外,正确配置AFHTTPClient会自动提供JSON序列化。 请参阅AFNetworking存储库中的示例应用程序,了解如何完成此操作。 401 is the HTTP status code "Unauthorized", which is sent back from the server when the provided credential

...

网络社区有一些关于证书失败的正确答案的争论。 (例如,这里是关于从200切换到401的Wordpress票据 。)Django选择返回200响应以及重新呈现的表单。 在我看来,这是正确的做法。 401或403响应表示用户没有权限访问资源(URL)。 但是在这种情况下,资源是登录点,并且您不需要凭据即可访问该资源; 根据定义,它可供所有用户使用。 因此,基本上这种情况与其他任何表单验证没有区别 - 服务器正在检查它发送的输入,如果它们无效,它将返回200响应以及表单和错误消息。 There's so

...

catch (WebException e)

{

resp = (HttpWebResponse)e.Response;

}

catch (WebException e)

{

resp = (HttpWebResponse)e.Response;

}

您可以指定应用程序如何处理异常或HTTP状态码,方法是在web.xml的错误页面元素中指定它 例如:web.xml

401

/login.html

与处理页面未找到页面的其他HTTP状态代码即404相同。 I solved this issue by adding the following elements to my Spring

...

这应该工作,传递您希望用户重定向到的特定路径: var reservedPaths = ['/explore','/teachers','/reports'];

if (rejection.status === 401 && _.contains(reservedPaths,$location.path().trim()) {

$location.path('/welcome');

}

或者如果你想使用ui-router's状态,你可以使用$state.includes() 。

...

有一种简单的方法可以禁止重定向到登录页面以获取非托管请求。 只需在ConfigureApplicationCookie添加以下对ConfigureApplicationCookie扩展方法的调用: services.ConfigureApplicationCookie(options =>

{

options.Events.OnRedirectToLogin = context =>

{

context.Response.StatusCode = (int)Http

...

我发现了我的问题。 Twitter似乎已经开始强制https,重定向停止工作。 我更新了我的Twitter消费者,将其从http更改为https。 我的消费者是从样本中提取的。 ///

/// The description of Twitter's OAuth protocol URIs for use with actually reading/writing

/// a user's private Twitter data.

...

终于搞清楚了 - 使用Timothy在链接问题和本博文中建议的自定义授权标签的组合,我能够暂时将状态代码设置为418,然后在Global.End_Request中将其更改回401。 我要做的最后一件事是将418添加到我的web.config并使用PassThrough模式:

...

如果不看脚本,真的很难告诉你什么是错的。 所以我会猜测并给你一些指示。 您可能希望将cookie管理器保持在块的其余部分之上。 这就是Thread控制器( 即线程组级别 )之下。 这可能不是问题,因为我可以在失败的步骤中看到_auth_session cookie,但这仍然是一个很好的做法。 如果您认为这可能是因为服务器未识别浏览器,您可以使用标头管理器并通过它发送浏览器(user_agent)信息。 看例子 尝试摆弄cookie管理器中的Cookie策略和实现选项。 我希望这有帮助。 I fin

...

服务器响应401,如果服务器返回401响应,则重定向到登录页面(Redirect to login page if server returns 401 response)...相关推荐

  1. linux下服务器重定向,linux – DHCP服务器将任何URL重定向到登录页面

    我有一个Linux DHCP服务器,我需要将所有网络流量重定向到一个登陆页面,该登陆页面将提供有关如何在网络上注册计算机的说明. 无论用户输入什么URL,都需要将用户重定向到网页(在DHCP服务器上) ...

  2. java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面

    在Spring Boot Web应用程序中,我有以下安全配置: @Override public void configure(HttpSecurity http) throws Exception ...

  3. 解决AJAX在用户登录失效后返回登录页面的问题

    后端AJAX API,Session过期,登录失效,直接跳转(redirect)到登录页.(后端Shiro.Spring Security等都支持这个功能) 对于全站AJAX的应用,当然不存在redi ...

  4. java http 401_服务器返回HTTP响应代码:401,URL:https

    我正在使用Java访问HTTPS站点,该站点以XML格式返回显示内容.我在URL本身中传递了登录凭据.这是代码片段: DocumentBuilderFactory dbf = DocumentBuil ...

  5. 服务器响应401,服务器返回HTTP响应代码:401,URL:https

    我正在使用Java访问HTTPS站点,该站点以XML格式返回显示内容.我在URL本身中传递了登录凭据.这是代码片段: DocumentBuilderFactory dbf = DocumentBuil ...

  6. 向服务器发送请求,服务器返回给客户端的响应状态码列表及其代表含义

    目录 1.状态码:100~ 2.状态码:200~ 3.状态码:300~ 4.状态码:400~ 5.状态码:500~ 响应状态码表示服务器的响应状态,在爬虫开发过程中,向服务器发送一个请求,服务器会根据 ...

  7. SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求

    服务器发送了意外的返回值(405 Method Not Allowed),在响应 "MKCOL" 的请求 服务器发送了意外的返回值(405 Method Not Allowed), ...

  8. 远程服务器返回了意外响应400,远程服务器返回400

    远程服务器返回400 内容精选 换一换 打开运行窗口,输入gpedit.msc,打开本地组策略编辑器.打开组策略升级到V3.3.26.0及以上的版本需要执行该操作,V3.3.26.0之前的版本不执行本 ...

  9. 403禁止vs 401未经授权的HTTP响应

    对于存在的网页,但用户没有足够特权(他们没有登录或不属于适当的用户组)的网页,可以提供什么适当的HTTP响应? 401 Unauthorized ? 403 Forbidden吗? 还有吗 到目前为止 ...

  10. 服务器响应码302,ajax与302响应代码测试 详细出处参考:http://www.jb51.net/article/42327.htm...

    服务器端的响应是302 Found,在ajax的回调函数中能够获取这个状态码吗?能够从Response Headers中得到Location的值进行重定向吗?让我们来一起动手写写代码看看实际情况吧. ...

最新文章

  1. IDEA设置单个文件、单个包、单个项目的编码格式
  2. Datawhale实验室
  3. UTF8转换为GB编码gb2312转换为utf-8
  4. 五、“或许平凡与伟大,才是我们最美的样子。”
  5. oppoa9处理器怎么样_oppoA9究竟怎么样?看看与三星A60元气版的对比吧
  6. qthread run结束了算销毁吗_拼多多,一面,i++ 是线程安全的吗?一脸蒙逼!
  7. 匿名函数:lambda函数简述
  8. AngularJS中关于ng-class和*ngIf指令
  9. 2020了,最流行的密码依旧是123456
  10. 振型矩阵与正则振型矩阵
  11. 东师2016年秋季计算机基础,东师2016年秋季《计算机基础》期末考核答案(1).doc
  12. java哈希表实现_Java实现简单哈希表详细代码
  13. 高通平台开机LOGO的修改与兼容
  14. VMware centOS7下 mkdir文件时出现 Permission denied 权限问题
  15. 7年一回首,流年似水
  16. Pandas入门超详细教程,看了超简单
  17. 主板声卡坏了会不会有电流声_不要小瞧十几块钱的USB声卡!
  18. 固态硬盘损坏数据如何挽救_大数据挽救生命
  19. vue 圆形 水波_vuejs 水波纹框架
  20. 传输层协议(TPC和UDP介绍)

热门文章

  1. Type erroe in tensorflow
  2. Python_画boxplot 盒图/箱线图
  3. 【6.10校内test】T3 加分二叉树
  4. 利用python批量处理Word文件——正文、标题
  5. 一张图超过了屏幕大小 如何自动将多出部分隐藏 只显示中间部分
  6. Maven--可选依赖
  7. js闭包,这个算是比较通俗的了(转)
  8. SNS网站中怎样获取MSN联系人信息
  9. 【从C到C++学习笔记】类声明/公有私有保护成员/数据抽象和封装
  10. 智能优化算法:被囊群算法-附代码