在另一个应用程序中扩展会话

时间:2013-09-06 01:47:45

标签: php codeigniter session

我不确定标题是否正确,但根据我目前对我想要达到的目标的理解,这是我可以使用的最接近的术语。但我要包含一张图片,以便我更容易解释它。

Proposed architecture

基本上,我试图根据其功能划分应用程序,第一个是红色,它将作为具有多个功能的主页或主页的登录页面:

  • 检查用户身份验证(用户和通行证)
  • 成功登录后,应用程序将检查用户访问级别是否将其重定向到事务模块(子应用程序集合)或文件维护。

我已经完成了所有应用程序,但目前它是'一个应用程序',所以我的主要问题是:

  1. 如何在重定向后将RED登录为BLUE或黄色登录时延长会话时间。
  2. 如何将控制器从RED重定向或调用为蓝色或黄色?或者,如果我没有通过控制器从一个应用程序调用另一个应用程序而不是使用url,它是如何或者是什么叫它?
  3. 流量只能从红色到蓝色,红色到黄色,但不能从蓝色到黄色。
  4. 注意:所有3个应用程序都是分开的

    提前致谢

    *已添加:例如,到目前为止,我只记得在stackoverflow中注册一次,但是当我在stackoverflow关联站点中点击“服务器故障”,“数据库管理员”等时,他们仍然保留我的会话我重新登录。

    或者在登录gmail时,我可以直接访问youtube,现在我也登录了youtube?这就是我想在这个问题上实现的目标。

2 个答案:

答案 0 :(得分:1)

如果用户已登录 - 则每次点击都需要 - 您必须确认凭据。这可能是使用cookie会话或令牌(网址或表单字段),也可能是http标头。确认用户后 - 然后让他们进入您的班级和方法。

如果必须重定向,则设置cookie会话 - 然后重定向。您重定向到的控制器将能够读取会话cookie。但通常你会重新定向,因为他们的凭据没有通过。

根据用户类型及其可以执行的操作尝试设置图表 - 用户,管理员,所有者是用户类型。然后 - 用户在做什么。一些用户可能能够创建并更新但不能删除。因此,如果定义角色,您会立即将安全问题分开。

每个角色至少获得一个控制器 - 因此该类中的所有方法都具有相同的验证级别。您不是为简单用户混合方法与超级管理员的方法混合。让特定用户的需求定义类中的方法。

====编辑

噢,现在你提到单点登录了吗? :-) 这可能是有趣的:Codeigniter oauth 2 https://github.com/philsturgeon/codeigniter-oauth2

处理:Facebook,Foursquare,GitHub,Google,PayPal,Instagram,Soundcloud,Windows Live,YouTube

答案 1 :(得分:0)

我找到了正确的术语。这是SSO。现在到处寻找教程,到目前为止我正在读这个:

http://thinkmoult.com/use-codeigniter-openid-library-to-integrate-openid/