def login(self, e, p): if e and p: u = User(_DBCON, email=e, password=p) if u._id: s = self._login_user(u) bottle.redirect('/') else: self.viewdata.update({ 'error':'Incorrect email/password combination', 'email':e, 'password':p }) return self._template('login') else: self.viewdata.update({ 'error':'Please complete the form', 'email':'', 'password':'' }) return self._template('login')
def wrapper(*args, **kargs): _user_id = str(BaseHandler().current_user) _user_hash = BaseHandler().current_user_hash _salt = short_by_hex(_user_id)[1] _hash = hashlib.md5('%s%s' % (_user_id, _salt)).hexdigest() if not _user_id or _user_hash != _hash: redirect('/admin/login', 302) check_user_status(_user_id) #检查用户的状态是否是正常 return f(*args, **kargs)
def wrapper(*args, **kargs): _user_id = str(BaseHandler().current_user) _user_hash = BaseHandler().current_user_hash _salt = short_by_hex(_user_id)[1] _hash = hashlib.md5('%s%s'%(_user_id, _salt)).hexdigest() if not _user_id or _user_hash != _hash: redirect('/admin/login', 302) check_user_status(_user_id) #检查用户的状态是否是正常 return f(*args, **kargs)
def get_token(cls): '''获取token及expires_in''' _code = request.query.get('code', None) _url = request.query.get('url', None) _ids = request.query.get('ids', None) if _code: client = APIClient(app_key=wb.app_key, app_secret=wb.app_secret, redirect_uri=wb.redirect_uri) r = client.request_access_token(_code) set_token_to_cookie(r) #保存token到cookie中 redirect('%s%s?ids=%s'%(get_site_url()[:-1], _url, _ids)) return dict(done=False, url=cls().get_weibo_login_url(), message=u'需要登录')
def get_token(cls): '''获取token及expires_in''' _code = request.query.get('code', None) _url = request.query.get('url', None) _ids = request.query.get('ids', None) if _code: client = APIClient(app_key=wb.app_key, app_secret=wb.app_secret, redirect_uri=wb.redirect_uri) r = client.request_access_token(_code) set_token_to_cookie(r) #保存token到cookie中 redirect('%s%s?ids=%s' % (get_site_url()[:-1], _url, _ids)) return dict(done=False, url=cls().get_weibo_login_url(), message=u'需要登录')
def wrapper(*args, **kwargs): s = bottle.request.environ['beaker.session'] if 'uid' not in s \ or s.get('ip') != bottle.request.get('REMOTE_ADDR')\ or s.get('useragent') != bottle.request.get('HTTP_USER_AGENT'): return bottle.redirect('/login') else: return callback(*args, **kwargs)
def register_post(self): e = bottle.request.POST.get('email') p1 = bottle.request.POST.get('password1') p2 = bottle.request.POST.get('password2') if e and p1 and p2: if p1 != p2: self.viewdata.update({ 'error':'The passwords do not match', 'email':e, 'password1':p1, 'password2':p2, }) return self._template('register') else: u = User(_DBCON, email=e, password=p1) if u._id: self.viewdata.update({ 'error':'An account already exists for that email address', 'email':e, 'password1':p1, 'password2':p2, }) return self._template('register') else: u.save() e = Email(recipient=e) e.send('Places accounts activation', '<a href="%s/activate/%s">Activate</a>' % (settings.BASEURL, u.token)) return bottle.redirect('/success') else: self.viewdata.update({ 'error':'Please complete the form', 'email':e, 'password1':p1, 'password2':p2, }) return self._template('register')
def init_comments(): '''从weibo.com抓取评论''' client = WeiboService.get_active_client() if type(client) == dict: redirect(client['url']) return WeiboService.get_comments(client)
def admin_log_out(): '''退出''' UsersService.log_out() redirect('/admin/login', 302)
def logout(self): s = bottle.request.environ['beaker.session'] s.delete() return bottle.redirect('/login')
def init_comments(): '''从weibo.com抓取评论''' client = WeiboService.get_active_client() if type(client)==dict: redirect(client['url']) return WeiboService.get_comments(client)
def check_user_status(uid): '''检查用户的状态是否是正常''' _user = UsersHandler().get_user_by_id(uid=uid) if not _user or 1 != int(_user['status']): redirect('/admin/log-out', 302)
def check_user_status(uid): '''检查用户的状态是否是正常''' _user = UsersHandler().get_user_by_id(uid=uid) if not _user or 1!=int(_user['status']): redirect('/admin/log-out', 302)