我正在做一个web项目,我使用html,java,css。该网站是在一个快速服务器上生成的快速生成器与ejs模板,我希望当一个用户登录(护照和bcrypt完成),他被重定向到“主页",而不是”登录“和”订阅“项目,必须有”注销“和一个图标登录到用户配置文件。这是怎么做到的?你可以在ejs做吗?
我试着和<% if (isLoggedIn) ..。但是它不工作,我删除了代码,你能给我一个实际的例子和几行代码吗?
<header> /*home page*/
<div class="container">
<img src="/images/logo.png" alt="logo" class="logo">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/articoli">Articoli</a></li>
<li><a href="/serie">Serie</a></li>
<li><a href="/accedi">Accedi</a></li>
<li><a href="/iscriviti">Iscriviti</a></li>
</ul>
</nav>
</div>
</header>发布于 2021-10-13 08:35:32
当您使用passport登录时,用户信息在req.user对象中
因此您必须使用条件运算符检查req.user中是否存在显示注销或显示正常菜单
const ensureAuthenticated = (req, res, next) => {
if (req.isAuthenticated() || res.locals.isVerified) {
return next();
}
req.flash("error_msg", "please signin to view this resource");
res.redirect("/users/emailsignin");
};使用上述中间件检查是否已登录
在app.js中
app.use(function (req, res, next) {
res.locals.isAuthenticated = req.isAuthenticated();
next();
});在导航栏中
<% if(isAuthenticated ) { %>使用上面的检查来显示隐藏菜单
https://stackoverflow.com/questions/69551492
复制相似问题