Rails 咨询怎么做一个独立用户系统

as181920 · August 29, 2013 · Last by hlxwell replied at November 27, 2015 · 2941 hits

不好意思,又偷懒,因为实在没有时间一个个去调研尝试。

打算把 Rails 工程中的用户功能抽取出来单独用一个 Rails 工程来做,

然后登录用接口(单点登录)方式,一般是 cas 和 oauth,这里选择 oauth。

然后服务端(用户功能的 Rails 工程): 普通帐号和个人信息管理(devise 哪些功能足已),提供 oauth 服务 这种情况用哪些 gem?用 devise 加上哪个 oauth 的服务端 gem?开发维护最简便的。

然后客户端(业务功能的 Rails 工程); 只要单点登录的客户端,不要无用的功能(比如 devise 上也可以加 oauth 的客户端吧,但是这里用不着 devise 哪些功能了,应该没必要上 devise) 这样用哪个 gem 比较合适?最好不影响其它 gem,比如 cancan 之类需要识别当前用户的

另,业务工程除了网页访问,还有程序 api 访问,然后接口的用户认证我记得 oauth 也是支持的吧?

我要说上 LDAP 会被喷么

#1 楼 @leopku Thx。LDAP 也是个方案,以前弄 cas 之类的时候看都有对 ldap 的支持。不过我看 oauth 除了认证,对获取用户信息,接口认证方面都有些支持,只是不知道工具;ldap 不是很了解起功能,另外 oauth 几大网站都在用,对于 web 方面支持和扩展更方便吧。

不是很了解,就是因为没时间一个个研究,所以偷懒来这里问下。

omniauth-identity

#3 楼 @qinix Thx. 大致网上过了下,考虑服务端先试用 doorkeeper,客户端先试用 omniauth。

都没经验和参考,只好根据 github 上维护程度和简单瞄两眼代码风格来先选了这两个。

说句难听的话,

  1. 用户系统就是一个用户登录的注册的系统。
  2. 然后把用户数据同步到其他系统里。

这个时候是最简单的方法。简单易懂,容易实现。

You need to Sign in before reply, if you don't have an account, please Sign up first.