我是React JS的新手。我正在使用React入门套件开发应用程序。以下是我的routes.js
/*! React Starter Kit | MIT License | http://www.reactstarterkit.com/ */
import React from 'react';
import Router from 'react-routing/src/Router';
import http from './core/HttpClient';
import App from './components/App';
import Login from './components/Login';
import SearchPage from './components/SearchPage';
const router = new Router(on => {
on('*', async (state, next) => {
const component = await next();
return component && <App context={state.context}>{component}</App>
});
on('/', async () => <Login />);
on('/login', async () => <Login />);
on('/search', async () => <SearchPage />);
on('*', async (state) => {
const content = await http.get(`/api /content?path=${state.path}`);
return content && <ContentPage {...content} />;
});
on('error', (state, error) => state.statusCode === 404 ?
<App context={state.context} error={error}><NotFoundPage /></App> :
<App context={state.context} error={error}><ErrorPage /></App>
);
});
export default router;
现在我想将passport.js用于身份验证部分。我想仅在有效用户登录时重定向到/搜索(例如用户名:admin,passsword:admin)。 我尝试将以下与旧JQuery应用程序一起使用的代码片段包含到routes.js
中import passport from 'passport';
import LocalStrategy from 'passport-local';
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
done(null, user);
});
passport.use(new LocalStrategy({
usernameField: 'employeeNumber',
passwordField: 'password'
},
function(username, password, done) {
if(username === "admin" && password === "admin"){
var user={"Name":"Admin"};
return done(null, user);
}
else{
return done(null, false);
}
}
));
我无法在routes.js中继续执行此操作。 我不想使用Flux。 有没有办法在我的申请中实施passport.js? 我是否正在尝试以正确的方式实施它?
请给我建议。提前谢谢。