我正在使用护照来处理我的应用程序中的身份验证和会话.我正在使用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) 我正在尝试将所有需要的模块和一些文本模板连接成一个连接和uglified main.min.js,所以我可以在我的HTML中包含该文件.
我想出了连接和丑化的部分.但是,我无法在浏览器中实际运行任何代码.
文件结构:
我使用构建文件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
谁知道,为什么会这样?
我正在尝试通过其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) 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) 我正在使用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)
有什么建议?
你可以只为一个方法运行测试,而不是整个类吗?理想情况下来自命令行.
例如,对于一个班级:
public class TestClass extends Unittest {
@Test
public void test1_shouldbeRun() {
}
@Test
public void test2_shouldNotBeRun() {
}
}
Run Code Online (Sandbox Code Playgroud)
我只想运行方法"test1_shouldBeRun".
你怎么能访问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)
我仍然不太了解莫纳德.谢谢你的帮助.
当我编辑我的代码并重新播放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,混合模式)
我正在测试我的控制器-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) 我试图使用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) java ×3
javascript ×3
node.js ×3
express ×1
fixtures ×1
gmail ×1
gmail-imap ×1
haskell ×1
http ×1
http-post ×1
imap ×1
junit ×1
mocking ×1
mockito ×1
monads ×1
mongodb ×1
oauth ×1
passport.js ×1
requirejs ×1
unit-testing ×1