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

as181920 · 2013年08月29日 · 最后由 hlxwell 回复于 2015年11月27日 · 2945 次阅读

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

打算把 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. 然后把用户数据同步到其他系统里。

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

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