我正在用allauth构建一个Django应用程序。
我有一个需要身份验证的页面,其中我放置了一个Java。这个applet会将请求发送给返回Json对象的其他页面(来自同一个django项目)。
applet使用JSObject从父网页获取CSRF令牌。
问题是,我希望设置具有身份验证控件的所有页面,但无法从applet的父web页面获取会话it cookie,因此它无法获得(或者保存)数据。
也许这是一个简单的方法来获得这个,但我是一个新的,我还没有找到任何东西。
如果你需要什么,可以随便问。
谢谢。
编辑:
我在楼下写过,我发现sessionid cookie被标记为HTTPOnly,所以现在的问题是哪种方式是允许applet发布和获取请求的最安全的方式。例如,可以在页面中创建一个JS方法,该方法获取数据并将其传递给applet?也许我也能做这篇文章?
编辑:
我使用来自页面的jquery调用成功地获得了数据。现在的问题是,代码抛出一个InvocationTargetException。我找到了问题的位置,但我不知道如何解决。
以下是Jquery代码:
function getFloor() {
$.get(
"{% url ... %}",
function(data) {
var output = JSON.stringify(data);
document.mapGenerator.setFloor(output)
}
);}下面是applet的两个功能。**部分是问题的根源。
public void setFloor(String input) {
Floor[] f = Floor.parse(input);
}
public static Floor[] parse(String input) {
**Gson gson = new Gson();**
Floor[] floors = gson.fromJson(input, Floor[].class);
return floors;
}下面是我的服务器上的日志,您可以看到applet尝试从服务器加载Gson的库(而不是从applet)。
"GET /buildings/generate/com/google/gson/Gson.class HTTP/1.1" 404 4126有人能帮我吗?
发布于 2012-11-23 03:25:32
您可以在小程序中这样做:
String cookies = JSObject.getWindow(this).eval("document.cookie").toString();这将为以分号分隔的页面提供所有cookie。
https://stackoverflow.com/questions/13522465
复制相似问题