Rails 如何在rails上整合discuz!?

alex_cheng · 发布于 2013年04月25日 · 最后由 raven 回复于 2013年06月17日 · 4379 次阅读
96

本人用rails做了一个web应用,需要加个论坛,自然地就采用了discuz!。但是我希望用户在rails上登录后,可以直接进入discuz!。我的rails上的用户信息在discuz!中也能够看到,总之希望将两者整合在一起,共享用户注册信息。

共收到 33 条回复
207

写 rails 的为什么会有看得上 discuz 的……我觉得这很不自然

96

但我需要个论坛,目前最成熟的不就是discuz!吗?

96

无聊

983

其实就是登录系统整合吧? 可以做一个 登录系统,两天一起调用,类似于OAuth? 或者在数据库层面整合?

1462

discuz有ucenter系统,专门用来整合其他程序的,不过研究透ucunter的功夫可以用rails搭建个不错的论坛了

96

我没有找到rails实现的成熟论坛。 Discourse不错,但是无法支持IE6/7/8/9,但国内IE6/7/8/9还是不少的

157

#6楼 @Alex_Cheng 支持ie系列不难吧? 你这个需求用OSS来实现就可以。

987b5d

楼主可以研究一下Discuz的cookies机制,在Rails登录后,写下可以给Discuz用的Cookie,然后用户表与Discuz共用。

不一定可行,仅供参考……

96
  • 可以考虑传递cookie
  • 可以考虑共用session
  • 可以考虑做个验证接口,discuz里弄个钩子啥的,内网服务器访问。
15

discuz 自己是 ucenter 的 一个 app 你可以把你的其他应用都集成到 ucenter 里

不过 rails 搭 php 这纯粹是 找难受嘛

172

真不知道Discuz有啥好的 界面都审美疲劳了 我现在看见Discuz论坛就不进去了

3

#9楼 @_samqiu #10楼 @vincenttone

浏览器安全限制了 cookies 只能在主域名和子域名之间共享,虽然可以通过 iFrame 等方法去开另外一个网站的登陆页面注册并回调,但是直接跨站提交可行么?How?

1173

#13楼 @lgn21st 搜一下ruby-cas weibo也是类似的方法吧。t.sina.com.cn和weibo.com

96

#13楼 @lgn21st 作者的意思就是同一个域名吧,貌似……

96

#14楼 @xmonkeycn weibo应该是直接跳转了吧

3

#14楼 @xmonkeycn 你说的这个是走 OAuth 流程的,通常有两种方法,一种是网站后台 server 用你的用户名密码去目标网站完成登陆,拿到 token,或者你在前台登陆目标网站,然后通过 callback 把token返回给后台存储,但是这两种方式都不是通过 cookie 跨站使用的。

浏览器的安全限制,cookie 本就不能跨站使用,所以我好奇上面诸位推荐共享 cookie,到底你们是怎么做到的?

96

#17楼 @lgn21st 我搜了一下,还真是有不同域使用同一个cookie的方法。 话说共享cookie应该可以实现,因为我在做的某个应用就可以共享,具体方法不好说,我也没细致的去了解。

3

#18楼 @vincenttone 如果真的可以,互联网世界不是要乱了?

96

#19楼 @lgn21st 我目前见到的都是二级域名使用主域名的cookie进行验证,感觉就好像是把本地的cookie传输给了主服务器,主服务器验证通过,接口返回数据……

987b5d

#13楼 @lgn21st 我的意思就是用同一个主域名

162

#17楼 @lgn21st 以前折腾过 p3p跨域cookie ,现在不知道有没有更好的方法 ,不过discuz没有官方接口用来做集成?

96

#1楼 @blacktulip 有些自负了,在开发语言层面比较软件系统是不是......

1462

discuz适合懂运营不懂技术的,只会FTP上传。别小看,这种不懂技术的运营能人很多。如果自己懂技术,想用discuz论坛然后自己二次开发定制,跟别的系统结合,那是个深渊。

2963

如果要这么用的话,建议以Discuz为主,尽量把功能放在那边,包括登录啥的,然后认证的同步就使用cas或者openid

1924

可以尝试单点登录或openid。

96

看官方有没有提供ucenter的client rails版,没有只能自己搞定,主要是实现通信接口采用相同的加密算法,sso的登入登出是采用js p3p头

96

这样组合,使用两套运行环境,增加运维调试难度。

96

有这时间和精力不如自己这个小巧精炼的论坛,一劳永逸!

202

Rails社区开源的论坛有现成的,discourse啊。https://github.com/discourse/discourse

1235

用rails的开源论坛是最好的选择。有不少的选择。 如果必须用discuz,有2个思路供参考: 1、用ucenter。没有官方的rails client,需要自己实现。 参考:http://cnqhoo.iteye.com/blog/406005 http://www.iteye.com/topic/895086 2、使用rubycas。在discuz中做个cas client. 参考: http://rubycas.github.io/ https://wiki.jasig.org/display/CASC/phpCAS

96

#7楼 @raven 请问oss是什么?不好意思,本人才疏学浅。

157

#32楼 @Alex_Cheng 就是多个服务一次登录。 例如你GMAIL登录了 那GOOGLE DOC YOUTUBE什么的就都跟着登录了。

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