小编srg*_*bnd的帖子

如何在 iframe 中拥有 Keycloak 登录页面?

有一个在本地运行的网络服务器,我想在 iframe 内有 Keycloak(在另一个域上)登录页面。我在 Keycloak Real Settings > Security Defenses > Headers > Content-Security-Policy 中尝试了以下设置

frame-src 'self' http://127.0.0.1 http://192.168.1.140 http://localhost *.home-life.hub http://trex-macbook.home-life.hub localhost; frame-ancestors 'self'; object-src 'none';
Run Code Online (Sandbox Code Playgroud)

基本上,我将本地 IP 地址和主机名作为frame-src.

登录页面未显示,我在浏览器控制台中收到此错误

Refused to display 'http://keycloak.example.com:8080/auth/realms/master/protocol/openid-connect/auth?client_id=es-openid&response_type=code&redirect_uri=https%3A%2F%2Fkibana.example.com%3A5601%2Fauth%2Fopenid%2Flogin&state=3RV-_nbW-RvmB8EfUwgkJq&scope=profile%20email%20openid' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".
Run Code Online (Sandbox Code Playgroud)

我的自定义标题存在 在此处输入图片说明

我的服务器和 UI(服务器呈现)代码:

'use strict';

const Hapi = require('@hapi/hapi');

const init = async () => {
  // Run server on all interfaces
  const server = Hapi.server({
    port: 3000, …
Run Code Online (Sandbox Code Playgroud)

iframe hapijs keycloak search-guard

13
推荐指数
1
解决办法
1万
查看次数

Ansible亚马逊EC2.密钥对不存在

我想在Ansible的帮助下创建和配置Amazon EC2机器.现在,我收到以下错误:

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Instance creation failed => InvalidKeyPair.NotFound: The key pair '~/.keys/EC2-Kibi-Enterprise-Deployment.pem' does not exist"}
Run Code Online (Sandbox Code Playgroud)

但是.pem键存在:

$ ls -lh ~/.keys/EC2-Kibi-Enterprise-Deployment.pem 
-r-------- 1 sergey sergey 1.7K Apr  6 09:56 /home/sergey/.keys/EC2-Kibi-Enterprise-Deployment.pem
Run Code Online (Sandbox Code Playgroud)

它创建于欧盟(爱尔兰)地区.

这是我的剧本:

--
- name: Setup servers on Amazon EC2 machines
  hosts: localhost
  gather_facts: no

  tasks:
    - include_vars: group_vars/all/ec2_vars.yml

    ### Create Amazon EC2 instances
    - name: Amazon EC2 | Create instances
      ec2:
        count: "{{ count }}"
        key_name: "{{ key }}"
        region: "{{ region …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 ansible ansible-playbook

10
推荐指数
1
解决办法
9684
查看次数

禁用"您所做的更改可能无法保存"弹出窗口

我使用以下前端代码导出.csv文档.

HTML

  <form id="tool-export" method="post" action="export/">{% csrf_token %}
    <a id="export-link" class="btn btn-sm btn-primary" href="#">DOWNLOAD</a>
  </form>
Run Code Online (Sandbox Code Playgroud)

JS

  $('#export-link').click(function(e) {
    e.preventDefault();
    var link = $(this);
    var form = link.closest('form');

    var project_id = proj_id.find(":selected").val();
    var input = $('<input>').attr('type', 'hidden').attr('name', 'project_id').val(project_id);
    form.append($(input));

    var project_type = proj_type.val();
    input = $('<input>').attr('type', 'hidden').attr('name', 'project_type').val(project_type);
    form.append($(input));

    form.submit();
  });
Run Code Online (Sandbox Code Playgroud)

出口运作良好,我得到了正确的文件.但是,我也会在点击导出链接后收到您所做更改可能无法保存的消息.如何禁用此消息?我不想看到它.

在此输入图像描述

javascript jquery

10
推荐指数
2
解决办法
3万
查看次数

如何编写简单的回调函数?

Python 2.7.10

我编写了以下代码来测试一个简单的回调函数.

def callback(a, b):
    print('Sum = {0}'.format(a+b))

def main(callback=None):
    print('Add any two digits.')
    if callback != None:
        callback

main(callback(1, 2))
Run Code Online (Sandbox Code Playgroud)

我执行它时收到这个:

Sum = 3
Add any two digits.
Run Code Online (Sandbox Code Playgroud)

为什么Add any two digits之后Sum = 3呢?我想这是因为回调函数首先执行.执行完所有其他代码后如何执行回调函数main()

python callback

10
推荐指数
3
解决办法
3万
查看次数

NameError:未定义名称“MediaIoBaseDownload”

蟒蛇 3.7.2

$ pip3 list | grep googl
google-api-python-client 1.7.9    
google-auth              1.6.3    
google-auth-httplib2     0.0.3    
google-auth-oauthlib     0.4.0 
Run Code Online (Sandbox Code Playgroud)

我使用Google Drive API 参考中的这个例子来下载文件

def downloadFile(driveService, fileId):
    request = driveService.files().get_media(fileId=fileId)
    fh = io.BytesIO()
    downloader = MediaIoBaseDownload(fh, request)
    done = False
    while done is False:
        status, done = downloader.next_chunk()
        print ("Download %d%%." % int(status.progress() * 100))
Run Code Online (Sandbox Code Playgroud)

我得到错误

$ python3 quickstart.py
Files:
mov_bbb.mp4 (1dAPxwZ24_ptTRe87eNG6kTAagIh-JUt0)
Traceback (most recent call last):
  File "quickstart.py", line 64, in <module>
    main()
  File "quickstart.py", line 61, in main
    downloadFile(service, item['id']) …
Run Code Online (Sandbox Code Playgroud)

python-3.x google-drive-api

10
推荐指数
1
解决办法
5884
查看次数

边缘NGram与短语匹配

我需要自动完成短语.例如,当我搜索"alz痴呆症"时,我想得到"阿尔茨海默氏症的老年痴呆症".

为此,我配置了Edge NGram tokenizer.我在查询体中尝试了两个edge_ngram_analyzerstandard作为分析器.然而,当我试图匹配一个短语时,我无法得到结果.

我究竟做错了什么?

我的查询:

{
  "query":{
    "multi_match":{
      "query":"dementia in alz",
      "type":"phrase",
      "analyzer":"edge_ngram_analyzer",
      "fields":["_all"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的映射:

...
"type" : {
  "_all" : {
    "analyzer" : "edge_ngram_analyzer",
    "search_analyzer" : "standard"
  },
  "properties" : {
    "field" : {
      "type" : "string",
      "analyzer" : "edge_ngram_analyzer",
      "search_analyzer" : "standard"
    },
...
"settings" : {
  ...
  "analysis" : {
    "filter" : {
      "stem_possessive_filter" : {
        "name" : "possessive_english",
        "type" : …
Run Code Online (Sandbox Code Playgroud)

elasticsearch elasticsearch-mapping elasticsearch-query

9
推荐指数
2
解决办法
6099
查看次数

一些Celery任务有效,另一些则是NotRegistered

我按照Celery Django教程,我在示例(add, mul)中看到的任务对我来说非常有用.我做的时候得到了正确的回答res = add.delay(1,2); res.get().

但是*** NotRegistered: u'pipeline.tasks.sayhello'当我尝试执行另一项任务时,我得到了res = sayhello.delay('trex').

如果我这样做,res = sayhello('trex')我只需输入即可得到结果res.但是通过这种方式,我在不使用Celery的情况下执行ornidarly函数.

任务仅在我在Django shell中运行时才有效 ./manage shell

>>> res = sayhello.delay('trex')
>>> res.get()
u'Hello trex'
Run Code Online (Sandbox Code Playgroud)

所以,问题是我无法执行sayhello任务pipeline/views.py.但我可以执行任务add,并mul从那里.

这是为什么?如何正确运行任务views.py

错误已完整消息:

[2016-11-11 10:56:09,870: ERROR/MainProcess] Received unregistered task of type u'pipeline.tasks.sayhello'.
The message has been ignored and discarded.

Did you remember to import the module …
Run Code Online (Sandbox Code Playgroud)

python django celery django-celery

9
推荐指数
2
解决办法
6145
查看次数

在多个路径上查询多个嵌套对象

是否可以在Elasticsearch中查询不同路径上的多个嵌套对象?我可以在一个路径上查询一个嵌套对象,但我找不到正确的语法来查询不同路径上的两个对象.

我需要使用如下逻辑查询:

{'query': {
   'bool': {
       'must': [
           'nested': {
               'path': 'Diagnosis',
               'query': {
                   'bool': {
                       'must': [{'match_phrase': {'Diagnosis.Diagnosis': {'query': "epidemia"}}}]
                   }  
               }
           },
           'nested': {
               'path': 'Demographic',
               'query': {
                   'bool': {
                       'must': [{'match_phrase': {'Demographic.Gender': {'query': "female"}}}]
                   }  
               }
           }
       ]
   }
}}
Run Code Online (Sandbox Code Playgroud)

最终目标是对我的PostgreSQL数据库数据进行非规范化(72个表,总共超过1600列),并且能够对其使用布尔查询.

elasticsearch

8
推荐指数
1
解决办法
5164
查看次数

如何设置DataTables的列宽

我想为所有DataTables(带滚动插件)列设置静态宽度.

如果我为<th>除一个之外的所有标签设置宽度,它会使列更宽.如果为所有标签设置了宽度,它就不起作用.另外,当我通过开发人员工具进行检查时,我看不到任何<th>宽度的元素400px.该元素具有不同的宽度115px,132px,145px...

这是为什么?如何设置列的确切宽度?

CSS

.big-col {
  width: 400px;
}
Run Code Online (Sandbox Code Playgroud)

JS

var options = {
    "sScrollX": "100%",
    "sScrollXInner": "110%",
    "bScrollCollapse": true,
    "colReorder": true
};

$(document).ready(function() {
    $('#example').dataTable(options);
});
Run Code Online (Sandbox Code Playgroud)

完整示例:http://fiddle.jshell.net/sergibondarenko/o1hoabep/8/

另外,我尝试了columnDefs选项,但没有成功.

 var options = {
    "columnDefs": [
      { "width": "100px", "targets": "_all" }
    ]
 };
Run Code Online (Sandbox Code Playgroud)

确切的列数未知.HTML表是基于服务器端的数据动态构建的.

javascript css datatables datatables-1.10

7
推荐指数
1
解决办法
1万
查看次数

我的自定义Django应用程序代码在哪里?

我在官方教程https://docs.djangoproject.com/en/1.8/intro/reusable-apps/之后构建并安装了我的自定义Django应用程序

安装似乎很成功.

$ pip install --user ../horizon2fa-0.1.tar.gz

Processing /opt/stack/horizon2fa-0.1.tar.gz
  Requirement already satisfied (use --upgrade to upgrade): horizon2fa==0.1 from file:///opt/stack/horizon2fa-0.1.tar.gz in /opt/stack/.local/lib/python2.7/site-packages
Building wheels for collected packages: horizon2fa
  Running setup.py bdist_wheel for horizon2fa ... done
  Stored in directory: /opt/stack/.cache/pip/wheels/a6/4a/f0/4533f85d90b8f1a274a35d3865a2e0b15ff85f0570a0708679
Successfully built horizon2fa
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到所有自定义类和方法的源代码?

我试图通过我的系统搜索它,但没有找到它们.代码编译了吗?

$ sudo find / -name "*horizon2fa*"

/root/.cache/pip/wheels/a0/9d/24/d8070ea2a01759ce7ebc03c34393db8a5aceccd380e60481c5/horizon2fa-0.1-cp27-none-any.whl
/opt/stack/.cache/pip/wheels/a6/4a/f0/4533f85d90b8f1a274a35d3865a2e0b15ff85f0570a0708679/horizon2fa-0.1-cp27-none-any.whl
/opt/stack/.local/lib/python2.7/site-packages/horizon2fa-0.1.dist-info
/opt/stack/horizon2fa-0.1.tar.gz
Run Code Online (Sandbox Code Playgroud)

该模块似乎未正确安装.

python -c "import horizon2fa; print(horizon2fa.__path__)"

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named horizon2fa
Run Code Online (Sandbox Code Playgroud)

下面,您可以看到我的app目录结构.

trex@trex:~/Development/openstack2FA/horizon2fa$ tree …
Run Code Online (Sandbox Code Playgroud)

python django pip

6
推荐指数
1
解决办法
129
查看次数