Rails 一个用户体验好的注册方案

linjunhalida · 2014年06月14日 · 最后由 xiaogui 回复于 2014年06月14日 · 2103 次阅读

网站还是需要用户注册,因为需要保存用户的状态。但是注册过程还是很复杂,验证 email 之类。 作为一个用户,需要记住用户名和密码,非常麻烦。更别说验证 email 了。

我的想法是用一个 token 来记住,每个人进来网站,都自动生成一个 user,然后对应的方式就是一个复杂的 token, 用收藏夹收藏起来这个链接,下次进来有这个 token,就自动登录这个 user 了。

如果需要收集用户信息,那么还是可能要另外让用户填写手机号邮箱之类的信息。

我的方案整体是这样: 每个 session 进来就分配一个 user。session 对应 user。一个月没有访问,删除 session 用户。 提供一个记住信息按钮,记住了之后,分配 token,让用户保存在收藏夹里面,同时永久化用户。 用户用 token 访问了之后,就自动登录到这个 user 里面。

针对的网站类型: 网站流程简单,比如我的 http://ffuu.org 负能量网站,用户看完几条内容,或者发了几条内容就走了。 不怕垃圾用户和广告用户

请问大家看法:

  • 这种方式有什么问题,和不方便的地方?
  • 用户使用体验上面如何改进?

用户换电脑或者浏览器时该怎么登录?

公用电脑问题呢?

我做过类似的,就是游客登录。

我的方法不是直接赋予用户,而是等待游客做出某个动作才赋予。这样既达到效果也比较节省数据库资源。

打个比方,比如你的 app 类似 ruby-china,然后要给予访客发评论的权利,可以这样:

  1. 访客来时自动在内存生成用户名,基于时间戳和随机数,这样就基本不会重复。

  2. 在 comment 提交按钮旁提示,"you are not signed in, post comment as user12345"

  3. 如果提交了,可以 spam checking(后台 job 也可,此处省略),然后创建用户,自己赋予用户名和密码。用户名表单里面就有。

你说的 token 也可以实现,只要用户保存了带 token 的链接就行了。认证时做个 fall back, 如果没有 cookie 就从 token 里面认证。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号