浏览 757 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-04-07
php 环境 用session记录用户状态, user表公用, session不是存放在表中的, php 是joomula环境中的系统, 直接session_start();
然后session赋值 rails 环境 也是用session记录用户状态, user表公用, session是用缺省:active_record_store存放在数据库中, 现在要做到2个环境互联互通, 解决思路: 思路1: 1, 用户不管从PHP还是Rails登录, 均在数据库里面建立session, 这种项目不需要加密, 同时记录客户端IP, 如果方便的话, 再生成一个唯一码附在session中; 2, 每次访问(不管从PHP还是Rails), 验证用户和IP, 更新session中的最近访问时间 3, 退出时清除session. 这个方法可能影响较大, 也许PHP中很多操作依赖session, 需要彻查代码, 依赖session的地方都要修改. 思路2 就是在页面中, 通过script做2次提交. 和httpclient提交是不是一样机理, 我在php这边用 $client = new HttpClient('192.168.1.100:3000'); $client->post('/account/login', array( 'login' => $user_email, 'password' => $user_password )); if (!$client->get('返回路径')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent(); 可以取到登录成功信息 在rails 这边用 response = Net::HTTP.post_form(URI.parse('http://192.168.1.100/?class=user&sub=logon_deal'),{ 'user_email' => params[:login], 'user_password'=>params[:password]}) 也能取到登录成功信息. 但状态显示都不执行, 不能显示登录状态, 希望各位同学指教一二. 各位同学有什么更好建议, 或这么实现思路有问题么? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-04-07
利用数据库+cookie模拟session,session_id写入cookie,因为cookie的值是唯一的,所以两边取得的session_id是一致的,利用同一张session表就可以读取写入公共的状态。
当然session表不能是那种存对象的表,而是普通的多列表格。 |
|
| 返回顶楼 | |
|
时间:2008-04-08
最简单解决方式: 2边都用javascript.
<form id="user_login" name="user_login" method="POST"> <input id="user_email" name="user_email" type="text" /> <input id="user_password" name="user_password" type="password" /> <label> <input id="remember_me" name="remember_me" type="checkbox" value=1 /> </label> <span class="classify">记住我的帐号,下次访问直接登录</span> <input type="button" name="submit_login" value="登录" onclick="doSubmit()"/> </form> <script language="javascript"> function doSubmit() { var form = document.user_login; // 在Rails中,先提交到PHP alert("php登录提交开始"); form.action="http://server_name/?class=user&sub=logon_deal"; alert("php登录提交"); form.submit(); alert("php登录提交结束"); var form_rails = document.user_login; //然后再提交到自己 form_rails.action="/account/login"; form_rails.submit(); } </script> |
|
| 返回顶楼 | |
|
时间:2008-04-08
Ruby on Rails中文 wiki上面有一篇讨论在 Rails程序中整合 phpBB的文章,应该能给你解决一些关键问题的答案。
覆盖问题包括:通过php系统登录到rails程序,对php系统中的数据建立模型,获取php session 等 http://wiki.rubyonrailscn.org/rails/show/在Rails程序中整合phpBB论坛 |
|
| 返回顶楼 | |
|
时间:2008-04-09
在php的页面里面嵌套一个rails的iframe页面,把用户名口令传过去进行登陆
rails的页面登陆成功以后啥也没有,就一个空白页面 把这个页面嵌到php页面的某个角落里面就好了. |
|
| 返回顶楼 | |
|
时间:2008-04-09
好似把信用卡的密码签在信用卡背面...
liujunsong 写道 在php的页面里面嵌套一个rails的iframe页面,把用户名口令传过去进行登陆
rails的页面登陆成功以后啥也没有,就一个空白页面 把这个页面嵌到php页面的某个角落里面就好了. |
|
| 返回顶楼 | |




