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