def f(*a, **b): if len(request.args) > 0: token = request.args[-1] res = None try: from gluon.contrib.simplejsonrpc import ServerProxy url = settings.rpc_server + "/cba/admin/call/jsonrpc" server = ServerProxy(url) res = server.check_permission(request.application, request.controller, request.function, token) except: # print auth.user.token # import traceback # traceback.print_exc() pass finally: if "result" in res and res["result"] is True: return action(*a, **b) if request.is_restful: raise HTTP(401) else: return dict(error="You don't have permission to access!")
def f(*a, **b): if auth.user is not None: res = None try: from gluon.contrib.simplejsonrpc import ServerProxy url = settings.rpc_server + "/cba/admin/call/jsonrpc" service = ServerProxy(url) res = service.check_permission(request.application, request.controller, request.function, auth.user.token) except: # print auth.user.token # import traceback # traceback.print_exc() pass finally: if res and "result" in res and res["result"] is True: auth.user.permissions = res["permissions"] return action(*a, **b) if request.is_restful: raise HTTP(401) else: #session.flash = "Bạn không có quyền truy cập!" if not "message" in res else res["message"] redirect(URL(c='default', f='index'))