Пример #1
0
module.exports = function (compound) {

    var express = require('express');
    var app = compound.app;
	var http = require('http')
    , connect = require('connect')
	, path = require('path');
	var cas_validate = require('cas_validate');
	var CAS_HOST = 'http://192.168.0.153';
	var PORT = 3000;
	var MY_HOST = 'http://127.0.0.1' + ":" + PORT +"/";
	/**
	 * 1. 更改force_protocal中的force_protocol,因为我们自己的cas不是https的
	 * 2. 更改cas的contextname,我们自己的是http://xxxx/sso/login,而代码里面默认是http://xxxx/cas/login
	 */
	
	var casmiddle = connect()
	casmiddle.use(cas_validate.ssoff())
	casmiddle.use(cas_validate.ticket({'cas_host':CAS_HOST,'service':MY_HOST}))
	casmiddle.use(cas_validate.check_and_return({'cas_host':CAS_HOST ,'service':MY_HOST}))
	
	
	//.use(cas_validate.check_and_return({'cas_host':CAS_HOST,'service':MY_HOST}))
	casmiddle.use(function(req, res, next){
	    if(req.session.st){
	        next()
	    }else{
	        return res.end('hello world (not logged in)')
	    }
	})
	
	
    app.configure(function(){
        app.set('jsDirectory', '/js/');
        app.set('cssDirectory', '/css/');
        app.set('cssEngine', 'stylus');
        
        app.use(express.favicon());
        app.use(express.logger('dev'));
        app.use(express.static(app.root + '/public', { maxAge: 86400000 }));
        app.use(express.bodyParser());
        app.use(express.cookieParser('secret'));
        app.use(express.session({secret: 'secret'}));
        app.use(express.methodOverride());
        // app.use('/logout',cas_validate.logout({'cas_host':CAS_HOST ,'service':MY_HOST}))
		// app.use('/login',cas_validate.check_or_redirect({'cas_host':CAS_HOST,'service':MY_HOST}))
        // app.use("/",casmiddle)
        app.use(app.router);
        
         
    });

};
Пример #2
0
function create_server(done){
    var app = express()
              .use(express.favicon())
              .use(express.logger({buffer:5000}))
              .use(express.cookieParser('barley Waterloo Napoleon'))
              .use(express.session({ store: new RedisStore }))
              .use('/',cas_validate.ssoff())
              .use('/',cas_validate.ticket({'cas_host':cas_host}))

    
                                           //,'service':'http://'+testhost+':'+testport}))
              .use('/',cas_validate.check_or_redirect({'cas_host':cas_host
                                                  ,'service':'http://'+testhost+':'+testport}))

              .use('/',function(req, res, next){
                  res.end('hello world')
                  return null
              });
    server =app.listen(testport,testhost,done)
}