首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django和Java Applet授权失败

Django和Java Applet授权失败
EN

Stack Overflow用户
提问于 2012-11-23 02:37:51
回答 1查看 320关注 0票数 0

我正在用allauth构建一个Django应用程序。

我有一个需要身份验证的页面,其中我放置了一个Java。这个applet会将请求发送给返回Json对象的其他页面(来自同一个django项目)。

applet使用JSObject从父网页获取CSRF令牌。

问题是,我希望设置具有身份验证控件的所有页面,但无法从applet的父web页面获取会话it cookie,因此它无法获得(或者保存)数据。

也许这是一个简单的方法来获得这个,但我是一个新的,我还没有找到任何东西。

如果你需要什么,可以随便问。

谢谢。

编辑:

我在楼下写过,我发现sessionid cookie被标记为HTTPOnly,所以现在的问题是哪种方式是允许applet发布和获取请求的最安全的方式。例如,可以在页面中创建一个JS方法,该方法获取数据并将其传递给applet?也许我也能做这篇文章?

编辑:

我使用来自页面的jquery调用成功地获得了数据。现在的问题是,代码抛出一个InvocationTargetException。我找到了问题的位置,但我不知道如何解决。

以下是Jquery代码:

代码语言:javascript
复制
  function getFloor() {

        $.get(
              "{% url ... %}",
              function(data) {
                    var output = JSON.stringify(data);
                    document.mapGenerator.setFloor(output)
              }
        );}

下面是applet的两个功能。**部分是问题的根源。

代码语言:javascript
复制
  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)。

代码语言:javascript
复制
  "GET /buildings/generate/com/google/gson/Gson.class HTTP/1.1" 404 4126

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-23 03:25:32

您可以在小程序中这样做:

代码语言:javascript
复制
String cookies = JSObject.getWindow(this).eval("document.cookie").toString();

这将为以分号分隔的页面提供所有cookie。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13522465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档