username = self.get_argument('_username', None)
signature = self.get_argument('_signature', None)
+ login = self.get_argument('_login', None) == 'true'
if (username == main_config.get('@admin_username') and
signature == utils.compute_signature(self.request.method, self.request.uri, self.request.body, main_config.get('@admin_password'))):
return 'normal'
- elif username and username != '_':
+ elif username and username != '_' and login:
logging.error('authentication failed for user %(user)s' % {'user': username})
return None
def get(self):
self.finish_json()
- post = get
+ def post(self):
+ self.set_header('Content-Type', 'text/html')
+ if not self.current_user:
+ self.set_status(403)
+ self.finish()
}
url += '_username=' + window.username;
+ if (window._loginDialogSubmitted) {
+ url += '&_login=true';
+ delete _loginDialogSubmitted;
+ }
var signature = computeSignature(method, url, body);
url += '&_signature=' + signature;
-
+
return url;
}
{caption: 'Login', isDefault: true, click: function () {
window.username = usernameEntry.val();
window.password = passwordEntry.val();
+ window._loginDialogSubmitted = true;
setCookie('username', window.username);