AngularJS + expressJS - 单页应用+动态注入模板

时间:2015-04-08 09:22:58

标签: angularjs node.js express

我正在开发angularJS + nodejs / expressjs应用程序。

当用户访问应用程序的url时,我想检查用户是否已经登录,如果有,请向他显示应用程序的主页 否则,将用户重定向到应用程序的登录页面。

主页是指基于用户角色的页面。因此,这将根据数据库中的值确定。

我假设我们有一个完整的html页面(index.html),它将与其他部分页面一起发送到浏览器。 因此,当用户在没有登录的情况下访问主页时,我需要将partial-login.html注入index.html并显示用户登录页面。 如果登录成功,再次将homepage.html注入index.html。 如果用户已登录,则在index.html中注入partial-homepage.html并向用户显示该页面。

在expressJS路线中,我有一条“/”路由返回index.html。但是,不确定如何根据上述情况注入不同的部分。有人可以帮我这个。

1 个答案:

答案 0 :(得分:0)

您需要使用会话中间件。

https://github.com/expressjs/session

当用户登录时,将他的名字存储在会话变量中,当用户再次打开你的网站时,检查该变量是否已分配值。如果用户已注销并需要登录并向他呈现登录页面。< / p>

此外,当用户点击退出时,不要忘记销毁会话

如果您使用的是玉,请在其中使用if / else条件。当您检查用户是否在服务器端具有会话令牌时,然后在render..else false时将变量值作为true发送到jade模板并相应地显示登录页面(将登录表单放在模板中的else条件中)