def get_id_from_cookie(self, role=False, for_site='', sites=False, name=False, email=False, altid=False, data=False):
# If for_site and site name does not appear in cookie.sites, None will be returned for role
# Null string will be returned for role, if site name is present
cookieStr = self.get_user_cookie()
if not cookieStr:
return None
try:
comps = [urllib.unquote(x) for x in cookieStr.split(':')]
##if Options['debug']:
##print >> sys.stderr, "DEBUG: sdserver.UserIdMixin.get_id_from_cookie", comps
userId, userRole, userSites, token, data_json = comps[:5]
userData = json.loads(base64.b64decode(data_json))
if role:
if not userRole and for_site:
if not userSites:
return None
return sdproxy.getSiteRole(for_site, userSites)
return userRole
if sites:
return userSites
if name:
return userData.get('name', '')
if email:
return userData.get('email', '')
if altid:
return userData.get('altid', '')
if data:
return userData
return userId
except Exception, err:
print >> sys.stderr, 'sdserver: COOKIE ERROR - '+str(err)
self.clear_user_cookie()
return None
评论列表
文章目录