欢迎各位兄弟 发布技术文章
这里的技术是共享的
如何管理您的session在很大程度上是取决于您的应用是如何处理session的。但是在drupal的方面,对session的处理则十分直接,session.inc文件是被包含在bootstrap.inc文件中的。
如果您决定用您自己应用的session处理器,那么您可以简单的把bootstrap.inc中相关的代码注释掉。或者您可以用这两个session处理器各自处理不同的部分,比如您自己的应用来做身份验证。而drupal的处理器来做其余的drupal相关的方法。如果您打算同时用两个session处理器,那么您要确保它们用的变量名不会有冲突。drupal用的是$_SESSION变量。
如果您决定出去drupal的session处理器,那么您需要修改drupal的核心模块。核心模块有4个方法用到了drupal的session:
Authentication:您可以忽略这个部分,因为您将用您自己应用的session来验证用户的身份和角色,我们在身份验证部分已经解释过了。
Content filtering:drupal session被用来储存过滤条件,这样您在内容管理页面就能看到过滤过的内容列表了。这是通过node模块来达到的。如果您决定把这个信息储存到您自己应用的session里,一下就是您需要储存到session的部分:
Messages:这是drupal在用户完成了某些动作后向用户显示的信息,比如“The changes have been saved.“这些信息集中在一个中央区域统一被存入session,drupal通过bootstrap.inc中的drupal_set_message()和drupal_get_messages()方法达到此目的。您可以利用这两个方法来储存消息到您自己应用的session。
Comment preferences: 这是comment模块为正在浏览的客人储存评论信息的。您可以通过修改comment模块中的comment_save_settings()方法来储存此信息到您自己的session。