访问/重定向网址时出错403但在浏览器

时间:2017-02-27 19:43:31

标签: python web-applications flask outlook http-status-code-403

下面是从我的项目模拟的基本Web应用程序代码片段,它将按预期工作,从URL http://myhost/show_document/sample.pdf查看pdf文档,到我们需要进行SSO(单点登录)身份验证的此Web应用程序,以便我们拥有在此Web应用程序中添加before_request装饰器功能,以便在通过特定于企业的SSO URL发出任何请求之前对用户进行身份验证,其实现方式如下所示。

from flask import Flask
import flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, World!'

@app.route('/show_document/<report_name>')
def document():
        response = flask.make_response(data) // data is pdf  object
    report_name='sample.pdf'
        response.headers['Content-Type'] = 'application/pdf'
        response.headers['Content-Disposition']='inline; filename=report_name'
    return response

@app.before_request
def sso_auth():
    return flask.redirect('https://ssologon-enteriprise.com/ssologinconfirm,html?target={0}'.format(urllib))// this browser redirect to java web application 

if __name__ == "__main__":
    app.run()
  # Running on http://myhost/

基于Flask的python web应用程序按预期工作。例如,如果用户点击任何URL或浏览它,则说明如下。

steps 1) Browsing url or click on url http://myhost/show_document.pdf (It is Http)
      2) url request will redirect to sso page(which is java based web app). It use Https header 
          3) once SSO login is successful it redirect to its parent(step 1 url) page which is python based with header as (http)

我们的sso按预期工作,但每当用户点击outlook电子邮件正文中的url时)它给|||||| 403警告||||||和网页没有重新加载用户在服务器日志中收到此错误警告。如果我们复制网址并关闭并打开(重新启动)浏览器,那么网址正如上述步骤一样完成任何问题,我们只有在点击来自电子邮件正文的网址时才会遇到问题。请帮忙看看这里的问题是我的假设。

这个问题是因为http标题导航http原始页面 - &gt; https sso页面&gt; http原始页面?或者是因为SSO java代码问题?或者是因为点击Outlook电子邮件?任何人都面临类似的问题?

先谢谢

1 个答案:

答案 0 :(得分:1)

你正在传递

'https://ssologon-enteriprise.com/ssologinconfirm,html?target={0}.format(urllib)'字面意思是format位在字符串中。

像这样修复(在 .format之前移动引用

'https://ssologon-enteriprise.com/ssologinconfirm,html?target={0}'.format(urllib)