1
darasion 2011-01-06 23:44:56 +08:00
全局变量应该保存那些永远不会变的,或者是很少很少会变的东西。
如果有频繁变化,就用 memcache 。 因为 instances 之间的全局变量没办法同步。只有等所有 instances 消亡然后再重建的时候才能同步一次;否则只能是当前的那个instance的全局变量被修改了,其他的没变。 我也曾试图在 Twitdao 中使用全局变量保存access token 实践证明那样做只能是一个用户使用才会正常。 |
2
Weakdancer 2011-01-07 03:25:50 +08:00
我的方法很笨,比如用谷歌帐户,我每次都重新获取用户。
|
3
julia 2011-01-07 08:42:29 +08:00
@Weakdancer 每次users.get_current_user() 有什么问题吗?
|
4
sd4399340 OP @Weakdancer 原先我想得也是绑定谷歌账号,主要是考虑到万一有人没有这玩意咋办~
|
5
sd4399340 OP @darasion memcache的机制我不大懂啊,我如果全用cookie怎么样,第一次登录就把用户名记录在cookie里,然后用到的话就去取,这样自己的用户名保存在自己的电脑里应该可以行得通吧!取到用户名以后去数据库里去对应的access_token,这思路行吗?
|
6
sd4399340 OP @julia 我想@Weakdancer的意思大概是指,每次获取谷歌账号后,再去获取对应的twitter账号,然后再完成一次Oauth认证吧~
|
7
Weakdancer 2011-01-07 14:59:59 +08:00
@sd4399340
@jula 我就是这个意思,我做的东西全是使用的google帐号 一部分原因是暂时不会处理cookies 不过看了@keakon说的 https://github.com/dound/gae-sessions 自己构建用户认证 实际上我现在也不是太清楚memcache 就算自己构建cookies原理和使用谷歌账户认证基本是一样的吧。 不会memcache的话就在每个方法的最开始获取用户信息就好了。 |
8
sd4399340 OP @Weakdancer 我也在看gae-sessions呢,这个好像能满足要求啊~
|