小编for*_*ste的帖子

持有护照,mongodb和快递的会议

我正在使用护照来处理我的应用程序中的身份验证和会话.我正在使用mongostore坚持使用mongodb.

设置工作正常.但是,当我重新启动服务器时,所有用户都被注销,因此显然会话被保留在内存中而不是仅保留到mongodb.我正在尝试实现用户在重新启动服务器时仍然登录的设置.

基本配置如下

中间件

    app.use(express.cookieParser('your secret here'));
    app.use(express.session());
    app.use(passport.initialize());
    app.use(passport.session({
        maxAge: new Date(Date.now() + 3600000),
        store: new MongoStore(
            {
                db: mongodb.Db(
                    conf.mongodbName,
                    new mongodb.Server(
                        'localhost',
                        27017,
                        {
                            auto_reconnect: true,
                            native_parser: true
                        }
                    ),
                    {
                        journal: true
                    }
                )
            },
            function(error) {
                if(error) {
                    return console.error('Failed connecting mongostore for storing session data. %s', error.stack);
                }
                return console.log('Connected mongostore for storing session data');
            }
        )
    }));
Run Code Online (Sandbox Code Playgroud)

护照

passport.use(new LocalStrategy(
    {
        usernameField: 'email',
        passwordField: 'password'
    },
    function(email, password, done) {
        console.log('user %s attempting …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js express passport.js

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

将requirejs模块连接成单个文件

我正在尝试将所有需要的模块和一些文本模板连接成一个连接和uglified main.min.js,所以我可以在我的HTML中包含该文件.

我想出了连接和丑化的部分.但是,我无法在浏览器中实际运行任何代码.

在github上创建了一个裸骨项目,以重现问题.

文件结构:

  • main.js
  • 的index.html
  • log.js
  • 建立生产
  • LIB/require.js
  • node_modules /要求/斌/ r.js

我使用构建文件build-production连接main.js,log.js和require.js:

./node_modules/requirejs/bin/r.js -o build-production.js
Run Code Online (Sandbox Code Playgroud)

main.js

require.config({
    paths: {
        requireLib : 'lib/require/require'
    },
    waitSeconds: 1000
});

console.log('loading main.js');

define(function(require) {
    var log = require('log');
    console.log('loaded')

    log.fine('main loaded');
});
Run Code Online (Sandbox Code Playgroud)

集结production.js:

({
    mainConfigFile : 'main.js',
    include : [ 'requireLib' ],
    name : 'main.js',
    out : 'main.min.js' })
Run Code Online (Sandbox Code Playgroud)

index.html的:

<script src="main.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

所以浏览器中的index.html应该打印出来

加载main.js
加载加载主

但它只打印出第一行

加载main.js

谁知道,为什么会这样?

javascript requirejs

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

在javascript/node.js中连接到Gmail IMAP API

我正在尝试通过其IMAP API连接到gmail .我正在使用Bruno Morency的node-imap库.为了创建oauth_signature,timestamp和nonce,我使用另一个库.

更具体一点:资源所有者已经对消费者进行了身份验证.所以我确实有一个访问令牌+秘密.当然我也有消费者的秘密+代币.所以我想要的是使用此处描述的XOAuth机制登录(标题:SASL初始客户端请求).

执行代码时出现错误:

Error while executing request: Invalid credentials d43if2188869web.36
Run Code Online (Sandbox Code Playgroud)

我不知道我做错了什么.实际上可能有更多的原因.错误的base64编码(虽然编码可能正常,因为你得到不同的编码不同的错误,我很确定这不是它),错误的签名计算(更新:我现在用http://oauth.net/core/测试了这个1.0a/#sig_base_example),nonce计算或其他.

我可以在java应用程序中使用相同的凭据(使用者+ ressource-owner)进行身份验证,因此凭据很可能不是错误的原因(只是错误的编码/签名计算)

最后的代码.我省略了消费者的密钥+秘密,并没有因为显而易见的原因而重新提供所有者的令牌+秘密.

var oauth_version = "1.0";
var oauth_timestamp = OAuth.timestamp();
var oauth_nonce = OAuth.nonce(6); //random nonce?

var oauth_consumer_key = "NOTFORYOU"; //validated
var oauth_consumer_secret = "NOTFORYOU"; //validated
var oauth_token = "NOTFORYOU"; //validated
var oauth_token_secret = "NOTFORYOU"; //validated
var email = "NOTFORYOU"; //validated

var oauth_signature_method = "HMAC-SHA1";
var method = "GET";
var action = "https://mail.google.com/b/" …
Run Code Online (Sandbox Code Playgroud)

javascript gmail oauth node.js

9
推荐指数
1
解决办法
8347
查看次数

如何在mockito中设置对mock对象方法的调用而不调用原始方法本身

mockito-version:1.9.0

我想在mockito中设置一个模拟对象的方法调用,而不调用原始方法本身:

编辑:这个例子实际上按预期工作,即身体方法"test()"没有被执行.但是,在进一步调查之后,我注意到原始方法有默认的可见性修饰符,我怀疑这会导致问题,因为在将其更改为公共之后(不应该是相同的吗?!)它按预期工作.

例如

public class TestClass {
  public String test() {
    System.out.println("test called!");
    return "test";
  }
}
Run Code Online (Sandbox Code Playgroud)
//in test
TestClass mock = mock(TestClass.class);

when(mock.test()).thenReturn("mock!"); //<-- prints test called here? why? how can I switch it off?
Run Code Online (Sandbox Code Playgroud)

java mocking mockito

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

具有多个OR的IMAP标准

我正在使用gmail的IMAP API来搜索邮件.

我使用"OR"条件来搜索不同的关键字.如果我只去一个级别,就像这样的东西,那么效果很好

'UID SEARCH OR (FROM "somebody@email.com") (TO "somebody@email.com")'
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试更长的表达时,它不起作用

标准或标准或标准或标准

转换为(据我所知的语法)

'UID SEARCH OR ( OR (FROM "somebodyelse@email.com") (TO "somebodyelse@email.com")) ( OR (FROM "somebody@email.com") (TO "somebody@email.com"))'
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我基本上希望从给定的电子邮件列表中发送或发送给所有邮件

我从libray得到的错误是

[ 'A34', 'BAD', 'Could', 'not', 'parse', 'command' ]
Run Code Online (Sandbox Code Playgroud)

有什么建议?

imap gmail-imap

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

仅针对单个方法运行junit测试

你可以只为一个方法运行测试,而不是整个类吗?理想情况下来自命令行.

例如,对于一个班级:

public class TestClass extends Unittest {
  @Test
  public void test1_shouldbeRun() {

  }

  @Test
  public void test2_shouldNotBeRun() {

  } 
}
Run Code Online (Sandbox Code Playgroud)

我只想运行方法"test1_shouldBeRun".

java junit unit-testing playframework

5
推荐指数
2
解决办法
7365
查看次数

Haskell(嵌套)ReaderT

你怎么能访问ReaderT的内部monad.

在我的情况下,我有典型的:

newtype VCSSetupAction a = VCSSetupAction (ReaderT (Maybe VCSConf) IDEM a)
    deriving (Monad, MonadIO, MonadReader (Maybe VCSConf))
Run Code Online (Sandbox Code Playgroud)

我可以在这个Monad中运行的函数中访问(可能是VCSConf)

commitAction' :: Common.VCSAction ()
commitAction' = do
   config <- ask
   ...
Run Code Online (Sandbox Code Playgroud)

但我也应该能够访问内部IDEM,结果是类型:

type IDEM = ReaderT IDERef IO
Run Code Online (Sandbox Code Playgroud)

所以我希望能够做类似的事情

commitAction' :: Common.VCSAction ()
commitAction' = do
   config <- ask
   ideRef <- lift $ ask -- this does not compile/work
Run Code Online (Sandbox Code Playgroud)

我仍然不太了解莫纳德.谢谢你的帮助.

monads haskell

3
推荐指数
1
解决办法
423
查看次数

重载时ClassCastException

当我编辑我的代码并重新播放localhost上的播放选项卡时:3001/@测试我尝试运行测试时总是得到ClassCastExceptions.

例如(只是一个例子,但你可以用TestClass代替任何类)

A java.lang.ClassCastException has been caught, Cannot cast TestClass to TestClass
Run Code Online (Sandbox Code Playgroud)

这严重减缓了发展.那有什么解决方案吗?

播放版"1.2.3"

java版"1.6.0_23"OpenJDK运行时环境(IcedTea6 1.11pre)(6b23~pre11_ubuntu1.11.10.2)OpenJDK 64位服务器VM(内置20.0-b11,混合模式)

java playframework

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

如何为Playframework中的功能测试设置数据库/夹具

我正在测试我的控制器-Secure.java。我使用play的Fixtures类来设置数据库。不幸的是,在发出POST调用和调用控件的方法的情况下,数据库原来是空的。但是,在测试方法内部,我可以按预期检索数据。

路线

POST    /login                                      user.Secure.authenticate
Run Code Online (Sandbox Code Playgroud)

控制器Secure.java

package controllers.user;

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.lang.reflect.InvocationTargetException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Date;
import java.util.TimeZone;

import models.User;
import play.Logger;
import play.Play;
import play.data.validation.Required;
import play.libs.Crypto;
import play.mvc.Controller;
import play.mvc.Http;
import play.mvc.Util;
import play.utils.Java;
import mashpan.crawl.dropbox.DropboxCrawler;
import mashpan.security.Check;
import mashpan.utilities.*;

import controllers.Application;

/**
 * a more or less exact copy of the secure implementation of play.
 * - enhanced with a transport guarantee.
 * - support for …
Run Code Online (Sandbox Code Playgroud)

fixtures playframework

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

使用nodejs将文档索引到elasticsearch

我试图使用nodejs将文档索引到elasticsearch.我使用node.js中http库.当我执行我的测试时,我得到:

> node test2.js
data=(bodyText=bodytext)
STATUS: 400
HEADERS: {"content-type":"application/json; charset=UTF-8","content-length":"906"}
response: {"error":"ElasticSearchParseException[Failed to derive xcontent from (offset=0, length=17): [98, 111, 100, 121, 84, 101, 120, 116, 61, 98, 111, 100, 121, 116, 101, 120, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

javascript http http-post node.js elasticsearch

0
推荐指数
1
解决办法
3215
查看次数