Iron-router 服务器端的 Meteor.user()

2023-11-25

如何在服务器端路由上检查用户是否已登录?

我会添加对“之前”的检查,但 Metor.user() 在这里不起作用。

提前致谢。

附注我已经发现如何让 Meteor.user() 在服务器端返回?,但不适用于iron-router


恐怕这是不可能的。我想问题出在这样一个事实:您正在尝试使用两种不同的协议连接到服务器 - 无论是字面上还是逻辑上 - 因此没有明显的方法来关联这两个操作。

然而,有一个非常简单的解决方案可以满足您的需求。您需要开发一个简单的特权令牌系统,或秘密密钥,或任何您所说的名称。首先创建一个服务器方法

var Secrets = new Meteor.Collection("secrets"); // only on server!!!

Meteor.methods({
  getSecretKey: function () {
    if (!this.userId)
      // check if the user has privileges
      throw Meteor.Error(403);
    return Secrets.insert({_id: Random.id(), user: this.userId});
  },
});

然后,您现在可以在客户端上使用它来获取secretKey附加到你的AJAX请求(或其他东西),无论是在HTTP标题或在URL本身。不要害怕! 如果您使用的话,它们都会被加密HTTPS.

在服务器端,您现在可以检索secretKey从传入的请求中检查它是否存在于Secrets收藏。然后您就会知道用户是否被授予某些权限。 此外,出于安全原因,您可能希望在一段时间后从集合中删除您的密钥。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Iron-router 服务器端的 Meteor.user() 的相关文章

随机推荐

  • Apache CXF - 给定的 SOAPAction 与操作不匹配

    我再次开始从事几年前开始的一个项目 代码如下 http code google com p mipnp 它是一个 UPnP 媒体服务器 可以将媒体流传输到 xbox 360 对于 UPnP 中的 SOAP 部分 我使用了 Apache CX
  • 是否可以将 gcc 编译的库与 MSVC 一起使用?

    我有一个项目依赖libiconv用于多项操作 我使用预编译的二进制文件iconv lib对于 Visual Studio 2008 但现在我必须转向 Visual Studio 2010 并且不再有可用的预编译二进制文件 我决定自己编译它
  • 如何创建线程安全的JSP页面

    我想创建一个线程安全的 JSP 页面 通过实现 SingleThreadModel 接口可以在 Servlet 中实现 但我不知道如何在 JSP 页面中实现 理论上 JSP 页面可以通过以下方式指示为线程安全的 isThreadSafe页面
  • 调用“mysqli_stmt_prepare”时是否应该手动检查错误?

    我正在使用 PHP 和 mysqli 准备好的语句 执行时是否有令人信服的理由手动检查错误mysqli stmt prepare 更具体地说 我不是询问最终结果 只是询问准备语句行 sql SELECT FROM users stmt my
  • 如何在 Qt 中将一个小部件放置在另一个小部件上

    我在 Qt 中有一个窗口 我正在上面画一幅画 现在我想将进度条放在它上面 我怎样才能做到这一点 我要执行的步骤 创建一个窗口 在窗口的paint事件中绘制图片 然后创建QGridLayout布局 添加您的窗口 显示在其上 假设我想在图片窗口
  • 关于符号的定义和值的问题

    Definition 知道 符号值的定义方式 使用Set or SetDelayed 但如何呢 据我了解 在为符号分配值后 评估器的分配方式没有任何区别 通过使用Set or SetDelayed 可以用函数来说明OwnValues它总是返
  • 如何将 Python StringIO() 对象传递给 ZipFile(),或者不支持?

    我有一个StringIO 文件状对象 我正在尝试将其写入ZipFile 但我得到这个类型错误 coercing to Unicode need string or buffer cStringIO StringI found 这是我正在使用
  • 一台机器上的多个MySQL实例[关闭]

    Closed 这个问题是无关 目前不接受答案 如何在一台机器上配置多个MySQL实例 网上有很多信息 但都不是很有用 我正在寻找一个从头到尾指导我的教程 而不是只有具有多年 MySQL 管理经验的人才能理解的通用信息 我希望得到自给自足的答
  • 将 Hadoop 中的日志记录级别设置为 WARN

    我尝试了多种将 Hadoop 中的日志记录级别设置为 WARN 的方法 但每次都失败了 首先 我尝试通过简单地将所有地方的 INFO 替换为 WARN 来配置 log4j properties 文件 没有结果 接下来 我尝试给Hadoop
  • 使用delphi从PID获取完整路径

    我需要从 PID 获取完整路径 我已经检查过这个问题C Windows 如何从 PID 获取进程路径我写了以下代码 function GetFullPathFromPID PID DWORD string var hProcess THan
  • Bootstrap-Datetimepicker 不工作

    我已经看了两天了 不明白我做错了什么 这是我的项目的一个摆弄 http jsfiddle net dagger2002 RR4hw 这是 HTML div class container div class col sm 6 style h
  • 合并/差异工具,可以在版本控制下的文件中显示作者(支持责备或注释)

    合并文件时 对我来说 显示每一行的作者会很有帮助 是否有支持该功能的差异或合并工具 捆绑的 gitk 工具并不是真正的合并工具 但它显示了带有红色和蓝色的冲突行 并且前面有 您可以在其中任何一个上右键单击 gt 显示此行的起源 转到引入该行
  • 如果 url 包含特定字符串,则使用 htaccess 进行重定向

    我想重定向到不同的域 83answers com如果网址包含forum细绳 就像我的网址是test guru99 com forum xyxyxzz那么它应该重定向到83answers com 字符串论坛可以位于 url 中的任何位置 我尝
  • Web 应用程序中的 LinqToSql 静态 DataContext

    在我遇到的一个 Web 应用程序中 我发现以下代码在处理 LinqToSQL 时处理 DataContext public partial class DbDataContext public static DbDataContext DB
  • 在C++应用程序中检测硬件信息? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想确定硬件信息 如 CPU RAM 硬盘 GPU 等 我的应用程序是用 C 编写的 但基于 Qt 构建 如何获取这些信息 谢谢 EDIT 看起来没有独立于平台的方法 那么 您能
  • Java robots.mouseMove(x, y) 未产生正确的结果

    我最近一直在尝试自动化我编写的一个程序 但遇到了一个问题 robot mouseMove 100 100 不会将鼠标发送到 100 100 我制作了这个简单的程序来展示这一点 new Robot mouseMove 100 100 Syst
  • Android Studio Gradle 错误:多个 dex 文件定义

    我在尝试在 Android Studio 中构建项目时遇到此错误 我正在尝试从 Eclipse 迁移 输出 UNEXPECTED TOP LEVEL EXCEPTION com android dex DexException Multip
  • Spy++ 可以发送消息的替代方案

    Spy 有什么好的替代方案可以向 Windows 发送消息吗 Thanks 窗户侦探既然是开源的 为什么不修改呢
  • 检测 PrintDocument 何时成功打印(不仅仅是预览)

    我正在使用一个进行一些自定义打印打印文档在我的应用程序中 我需要在我们的项目成功打印时进行记录 我最初是通过以下方法实现的 print doc EndPrint o e gt printed callback 为了让我的printed ca
  • Iron-router 服务器端的 Meteor.user()

    如何在服务器端路由上检查用户是否已登录 我会添加对 之前 的检查 但 Metor user 在这里不起作用 提前致谢 附注我已经发现如何让 Meteor user 在服务器端返回 但不适用于iron router 恐怕这是不可能的 我想问题