我使用捆绑的Tomcat在Ubuntu 14.04 LTS和Nginx代理上安装了新的JasperReports Server 6.2,这样我就可以访问https://mydomain.xyz/jasperserver.它主要起作用,但我无法管理用户和角色.如果我绕过Nginx并直接进入Tomcat http://123.123.123.123:8080/jasperserver,一切都很完美.日志表明:
2016-02-28 19:44:08,024 ERROR CsrfGuard,http-nio-8080-exec-3:44 - 潜在的跨站点请求伪造(CSRF)攻击被挫败(用户:,ip:127.0.0.1,uri:/ jasperserver /flow.html,错误:请求中缺少必需的令牌)
这与旧的问题完全相同:在nginx后面运行jasperserver:潜在的CSRF攻击.但是我已经尝试过这两种缓解措施,但它仍然无效.
underscores_in_headers on;,首先是in http,然后是in server,然后是两者.JASPER_CSRF_TOKEN和OWASP_CSRFTOKEN中WEB-INF/esapi/Owasp.CsrfGuard.properties我重新启动服务器只是为了确保所有内容都已清除并重新启动,但仍然无法正常工作.
我正在寻求解决方案的建议和/或指导哪些方面可以更好地诊断问题.我是Jasper的新手,我的Java/Tomcat技能很生疏.
我在 Rails 应用程序中使用 ruby 的 CSV 类(ruby 2.1.5)从上传的 csv 文件加载记录。用户正在使用“另存为”从 Excel 创建 csv 文件,并且根据数字的格式,它们可能会保存为带逗号的带引号的字符串——在这种情况下,逗号后面的数字部分被删除。
如果输入值是"3,500",则3500应该保存,但它是3。
我意识到可以在 Excel 中清理它,但它似乎也应该很容易处理(如果我不得不告诉用户程序无法处理这种基本情况,我会从用户那里得到一个主要的 WTF。 ) 此外,由于 csv 文件的标题与数据库中的列名称匹配,因此我不必编写特定于列的处理程序 - 我只需进行属性分配。我希望保持这种状态,因为我的受影响列比我在示例中包含的列要多得多。
输入记录:
recordid,valcurrent,valdate
11015,"3,500",6/7/2013
Run Code Online (Sandbox Code Playgroud)
处理功能
def import_csv(file)
CSV.foreach(file.path, headers: true, header_converters: :symbol, skip_blanks: true, converters: :all) do |row|
# hash the input row
row_hash = row.to_hash
# create a new row with the hash in original_record
fl = self.forecast_lines.create(original_record: row_hash.to_s)
# write the hash to the record attributes
fl.attributes = …Run Code Online (Sandbox Code Playgroud) 从 pycaret 的文档和教程中,我希望classification.compare_models()函数返回一个网格,例如......
| 模型 | 准确性 | 曲线下面积 | 记起 | 预知。 | F1 | 河童 | 中冶集团 | TT(秒) | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 朴素贝叶斯 | 0.9567 | 0.0000 | 0.9556 | 0.9619 | 0.9561 | 0.9348 | 0.9378 | 0.0076 |
| 1 | K 近邻分类器 | 0.9467 | 0.0000 | 0.9444 | 0.9633 | 0.9430 | 0.9197 | 0.9295 | 0.0077 |
| 2 | 极端梯度提升 | 0.9467 | 0.0000 | 0.9444 | 0.9633 | 0.9430 | 0.9197 | 0.9295 | 0.0521 |
| ETC。 |
我的代码
from pycaret.classification import *
import pandas as pd
df = pd.read_csv('input.csv')
setup_result = setup(data=df, target='Class')
best = compare_models()
print(best)
Run Code Online (Sandbox Code Playgroud)
我得到很多这样的输出......
Initiated . . . . . . . . . . . . . . …Run Code Online (Sandbox Code Playgroud)