如何向某些用户提供带有特定元素的index.html?

时间:2015-10-21 19:26:32

标签: javascript html node.js express npm

我希望为各个用户提供index.html页面,但某些用户只能看到某些元素,例如按钮。我正在使用Express框架,我知道您可以“注册”视图,然后将允许/拒绝某些网页提供给用户,但我想在登录时允许/拒绝网页的某些元素。想知道是否有人有这方面的经验吗?

1 个答案:

答案 0 :(得分:3)

这是一个相对常见的用例。登录用户通常会显示某种帐户链接,而登出用户通常会显示登录按钮,或者可能是注册按钮。

我从未使用过Express,但是它的文档建议使用应该支持条件的jade模板引擎。

http://expressjs.com/guide/using-template-engines.html

使用jade,您可以使用包含用户的上下文呈现index.html,并有条件地呈现特定模板元素:

http://jade-lang.com/reference/conditionals/

另一种方法是根据您的用户类呈现完全独立的index.html文件。

tempalte inheritance是另一个向不同用户呈现类似模板的强大工具。通常它用于包含基本模板信息,即站点范围的页眉,页脚,正文容器

并记住,有条件地显示页面上的链接和元素和按钮不足以保护您的站点,如果用户不应访问特定端点,则需要在服务器端强制执行身份验证/授权< / p>