4 * (C) 2006 by Derrell Lipman
8 * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/
12 * JSON-RPC mappings to system facilities
15 /* We'll be accessing session resources */
16 jsonrpc_include("resources.esp");
20 * Authenticate and log in
32 * An object of class JsonRpcError.
35 * Success: "Logged in"
36 * Failure: error event, origin=Server, code=LoginFailed
38 function _login(params, error)
41 var creds = credentials_init();
43 creds.set_username(params[0]);
44 creds.set_password(params[1]);
45 creds.set_domain(params[2]);
46 creds.set_workstation(request['REMOTE_HOST']);
47 auth = userAuth(creds, request['REMOTE_SOCKET_ADDRESS']);
49 if (auth == undefined)
51 error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server);
52 error.setError(jsonrpc.Constant.ServerError.LoginFailed,
58 session.AUTHENTICATED = true;
59 session.authinfo = new Object();
61 session.authinfo.username = auth.username;
62 session.authinfo.domain = auth.domain;
63 session.authinfo.credentials = creds;
64 session.authinfo.session_info = auth.session_info;
68 else if (auth.report == undefined)
70 error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server);
71 error.setError(jsonrpc.Constant.ServerError.LoginFailed,
77 error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server);
78 error.setError(jsonrpc.Constant.ServerError.LoginFailed,
79 "Login failed: " + auth.report);
85 jsonrpc.method.login = _login;
90 * Retrieve the list of open resources (for debugging)
92 * @return "Logged out"
94 function _logout(params, error)
96 session.AUTHENTICATED = false;
99 jsonrpc.method.logout = _logout;
104 * Retrieve the list of open resources (for debugging)
106 function _get_open_resources(params, error)
108 return session.resources.getList(error);
110 jsonrpc.method.get_open_resources = _get_open_resources;