我正在MEAN堆栈上构建一个API。我已经成功地为一个名为questions的模型创建了API。它适用于GET、POST、DELETE和PUT请求。
在网站的前端,我希望能够显示问题,即使当用户没有登录。
我的问题是,在这种情况下,我如何进行某种身份验证?既然用户可以访问带有问题的web页面,即使没有身份验证,我如何阻止任何人访问API并获得所有问题的转储?
我看到的所有教程都在讨论如何对用户名和密码进行身份验证以允许访问API。如何解决用户未登录的情况?
谢谢
发布于 2015-09-23 12:04:22
您可以使用Jade之类的模板引擎在服务器端生成模板。在这种情况下,来自angular端的用户将不会使用直接检索数据的API,而是执行get请求来获取html页面,而您的express应用程序将使用您在后台收集的数据(使用服务器端的控制器逻辑)呈现页面。
这意味着angular端将命中类似于'host/pagename‘的内容,并且这个get请求将调用控制器中的另一个函数来检索数据(用户将不需要知道该函数中发生了什么,因为它是服务器端的),然后您可以使用Jade模板执行类似res.render('yourtemplate',{ data :'yourdata'})的操作来为您的用户呈现页面,而无需让他直接访问api
https://stackoverflow.com/questions/32730285
复制相似问题