2012-10-19 116 views
1

专家,传递用户ID控制器之间

什么是通过控制器之间(用于查询用户信息,用户的系统内部ID)的用户ID的笨应用推荐的方法是什么?

我在考虑以下选项: 1.使用CI会话ID在每个控制器中查询数据库中的用户标识。这样我就不必将用户标识放在会话中,这是一个安全问题。但是这个选项意味着在每个控制器中额外的数据库查询 2.将用户ID直接存储在会话中,以便我们随时查询用户信息。

您认为如何?

+1

我做了第一种方式,我会采取用户名时,用户登录。我将在查询中使用它,然后将数据保存在会话数组中。我会在每个控制器中使用它 –

回答

1

从我对MVC的理解中,你通常不会直接在两个控制器之间进行对话。但在这种情况下,我会使用会话。就安全性而言,有很多扩展codeigniter处理身份验证,如TankAuthWolfAuth,包括许多其他人,如果这是您的担心,您可能会考虑。然而,在这种情况下,只要你没有存储敏感数据,使用会话来存储用户ID是完全正常的。

您可以在这里笨会议念起来:http://ellislab.com/codeigniter/user_guide/libraries/sessions.html