1

似乎用户登录等基本功能无法以简单的方式完成:在客户端的表单中拥有用户名和密码字段,并基于此创建 store.readPathAccess 模型访问权限。另外,如何检查用户是否登录以实现对路由的访问权限?

基于示例和(糟糕的)DerbyJS 文档,如果我理解正确,您必须在服务器模块(lib/server/*)中实现登录,因为:

  1. store.readPathAccess 必须在服务器端使用
  2. 您想将数据存储在模型会话中(只能在服务器端读取)

但是出现了很多问题:

  1. 如果必须在服务器端完成,如何在服务器端获取和存储客户端表单数据而不会遇到列表下面第二项的问题(我已经通过手动将数据提交到仅服务器路由来完成,但那时不能使用本地密钥将其保存在模型中,因为之后我必须重定向到客户端路由并且本地模型数据丢失)
  2. 如果必须将数据存储在会话中,如何稍后读取该数据?
  3. 即使管理模型的商店访问权限,如何在客户端路由中检查此特定用户是否已登录?

我现在很困惑......喜欢德比原则,但这个身份验证问题正在严重地玩弄我的神经。

我知道我可能不太清楚,但是有很多细节需要详细说明,如果有人可以提供帮助,我很乐意提供更多必需的信息。

谢谢你,埃迪

4

2 回答 2

2

我今天找到了这个名为derby-auth 的库。它使用护照登录,并有一个使用简单的注册和登录表单的好例子。它的作用是在服务器上设置一些路由来记录用户,以及一个中间件来告诉客户端它是否被记录。它确实有一些错误(缺少一些回调调用会破坏一些东西),所以我基于此编写了自己的,但在上传任何地方之前必须清理很多东西。不过,如果你愿意,我很乐意把它寄给你。

于 2012-11-26T01:14:42.357 回答
0

最新的库是https://github.com/derbyparty/derby-login

它已定期更新并适用于 derbyjs 0.6

于 2015-06-12T01:30:54.630 回答