Javascript 解析云代码时按角色限制url访问

Javascript 解析云代码时按角色限制url访问,javascript,parse-platform,Javascript,Parse Platform,在Parse CloudCode应用程序中是否有任何方法限制对给定url/路由的访问 app.get( '/', function ( req, res ) { res.render('home'); } ); // only allow access to this 'route' if the user making the request is an admin app.get('/admin', function(req, res) { va

在Parse CloudCode应用程序中是否有任何方法限制对给定url/路由的访问

app.get( '/', function ( req, res )
   {         
     res.render('home');
   } );

// only allow access to this 'route' if the user making the request is an admin 
app.get('/admin', function(req, res)
{
 var user = Parse.User.current();
 // user is always null.  No way to check their user privileges. 
 res.render('admin');
});
在我看来,问题在于无法访问Parse.User.current()或main.js文件中的request User。从客户端创建并访问“isAdmin”CloudCode函数似乎是防止未经授权用户访问URL的错误方法


提前谢谢。

由于我的低谷,我无法对你的帖子发表评论。但是你试过这个文档吗

您必须为其express cloud使用parse-Make中间件:
parseExpressCookieSession
parseExpressHttpsRedirect
。然后,您可以使用云代码中的
Parse.user.current()
轻松访问用户数据

您可以在Parse SDK参考中看到示例代码

您可以将Parse.User身份验证和会话管理添加到 使用parseExpressCookieSession中间件的Express应用程序。你只是 需要在云代码中调用Parse.User.logIn(),这个中间件 将自动为您管理用户会话

您可以使用web表单请求用户的登录凭据,以及 从该表单接收数据时,以云代码登录用户。 调用Parse.User.logIn()后,此中间件将自动 在用户浏览器中设置cookie。在后续HTTP请求期间 从同一浏览器,此中间件将使用此cookie 在云代码中自动设置当前用户。这将创建ACL 在云代码中正常工作,并允许您检索整个 当前用户对象(如果需要)。


由于我的低谷,我无法对你的帖子发表评论。但是你试过这个文档吗

您必须为其express cloud使用parse-Make中间件:
parseExpressCookieSession
parseExpressHttpsRedirect
。然后,您可以使用云代码中的
Parse.user.current()
轻松访问用户数据

您可以在Parse SDK参考中看到示例代码

您可以将Parse.User身份验证和会话管理添加到 使用parseExpressCookieSession中间件的Express应用程序。你只是 需要在云代码中调用Parse.User.logIn(),这个中间件 将自动为您管理用户会话

您可以使用web表单请求用户的登录凭据,以及 从该表单接收数据时,以云代码登录用户。 调用Parse.User.logIn()后,此中间件将自动 在用户浏览器中设置cookie。在后续HTTP请求期间 从同一浏览器,此中间件将使用此cookie 在云代码中自动设置当前用户。这将创建ACL 在云代码中正常工作,并允许您检索整个 当前用户对象(如果需要)。


如果您使用的是云代码;每个请求都发送一个身份验证令牌;这就是阻止其他人使用它的原因。这就是让局外人无法进入的原因(尽管存在一些问题);阻止内部人员访问URL;每次请求URL时,您都可以执行Parse.user检查。@GeorgeStocker Parse.user始终为空。(我更新了问题中的代码);每个请求都发送一个身份验证令牌;这就是阻止其他人使用它的原因。这就是让局外人无法进入的原因(尽管存在一些问题);阻止内部人员访问URL;每次请求URL时,您都可以执行Parse.user检查。@GeorgeStocker Parse.user始终为空。(我更新了问题中的代码)。谢谢你的输入。但是,在将用户登录到系统后,路由无法访问用户。云函数可以很好地访问请求用户,但对于基本路由,Parse.user.current()为null,req.user也为null。例如,
app.get('/',函数(req,res){Parse.User.current();//为null req.User;//为null})您是否遵循示例代码?您必须在客户端浏览器和Parse Cloud上调用
Parse.User.logIn()
方法。是的,遵循了示例等。我进行了进一步调查,如果您调用Parse.User.been方法,后续调用将有一个null
Parse.User.current
。我提出了一个bug报告()和示例项目(),因为这种行为似乎是错误的@radian jheng感谢您的输入谢谢您的输入。但是,在将用户登录到系统后,路由无法访问用户。云函数可以很好地访问请求用户,但对于基本路由,Parse.user.current()为null,req.user也为null。例如,
app.get('/',函数(req,res){Parse.User.current();//为null req.User;//为null})您是否遵循示例代码?您必须在客户端浏览器和Parse Cloud上调用
Parse.User.logIn()
方法。是的,遵循了示例等。我进行了进一步调查,如果您调用Parse.User.been方法,后续调用将有一个null
Parse.User.current
。我提出了一个bug报告()和示例项目(),因为这种行为似乎是错误的@radian jheng感谢您的投入