小编Dan*_*ift的帖子

NodeJS Passport

我在nodejs上设置了护照,并让它与m​​ongoose一起工作,允许用户登录并创建新帐户.

app.js:

var express = require('express')
  , app = module.exports = express.createServer()
  , passport = require('passport')
  , LocalStrategy = require('passport-local').Strategy
  , routes = require('./routes/index')(app) //index loads in multiple routes
  , MongoDBConnection = require('./database/DatabaseConnector').MongoDBConnection;

// Configuration
app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.cookieParser());
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.session({ secret: 'justdoit' }));
  app.use(passport.initialize());
  app.use(passport.session());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

var mongoDbConnection = new MongoDBConnection();

passport.serializeUser(function(user, done) {
    done(null, user.id);
});

passport.deserializeUser(function(id, done) {
    mongoDbConnection.findUserById(id, function(err, user){
       done(err, user);
    });
});

passport.use(new LocalStrategy( …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js passport.js

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

Mock Grails Spring Security登录用户

寻找在某些单元/集成测试中模拟弹簧安全性的方法.

  • Grails:V2.1.0
  • Spring Security Core:V1.2.7.3

控制器具有以下内容:

// some action
def index(){
   def user = getLoggedInUser()
   render ....
}
...

private getLoggedInUser(){
    return User.get(springSecurityService.principal.id)
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下和其他各种方法,但无法让它工作:

void testSomething(){
    def dc = new SomeController()
    dc.springSecurityService = [
            encodePassword: 'password',
            reauthenticate: { String u -> true},
            loggedIn: true,
            principal: [username:"Bob"]]
    dc.index() 
    ... assertion....
Run Code Online (Sandbox Code Playgroud)

似乎用户没有被创建并且无法获得principle.id.任何建议或更好的选择?

testing grails mocking spring-security

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