Пример #1
0
def action_change_pass():
    username = request.forms.username
    new_password = request.forms['new-password']
    check_password = request.forms['check-password']

    if not AAA.current_user_is_admin():
        old_password = request.forms['old-password']
        if not api.verify_password(AAA.create_user(), old_password):
            return show_alert("Operation failed",
                              "Old password could not be verified",
                              "/admin/change_pass.html?username=%s" % username)

    if new_password != check_password:
        return show_alert("Operation failed",
                          "The new password did not check, retype it.",
                          "/admin/change_pass.html?username=%s" % username)

    try:
        api.change_user_password(username, new_password)
    except api.Unauthorized:
        return show_alert(
            "Operation failed",
            "You do not have permission to perform this operation",
            "/admin/users.html")

    redirect('/admin/users.html')
Пример #2
0
def _nsd_init(entity, obj):

    # (0) project id
    if 'current_project' in AAA.session():
        obj.setdefault('project_id', AAA.session()['current_project'])

    # (A) parameters
    obj.setdefault('parameters', {})
    obj['parameters'].setdefault('sim_time_limit', 3600)
    obj['parameters'].setdefault('simtime_scale', -9)
    obj['parameters'].setdefault('random_seed', 0)

    # (B) environment
    obj.setdefault('environment', {})
    obj['environment'].setdefault('type', 'castalia')

    # (C) network
    if 'current_plan' in AAA.session():
        obj.setdefault('plan_id', AAA.session()['current_plan'])

    # (D) views
    obj.setdefault('views', _get_predefined_plots()['views'])

    logger.debug("NSD initialized to: ", obj)

    return obj
Пример #3
0
def delete_user(username):
    '''Delete a system user.'''
    roles = AAA.session_roles()
    if AAA.current_user() == username:
        roles.add(AAA.Owner)
    if not AAA.UserRecord.authorize(roles, AAA.Delete):
        raise Unauthorized(details="Not authorized to delete users")
    Manager.delete_user(username)
    logger.info("Deleted user: %s", username)
Пример #4
0
def login(username, password):
    # No password at this time
    success = username and verify_password(username, password)

    if success:
        AAA.set_current_user(username)
        logger.info('User %s logged in', username)
    else:
        logger.info("Login failure: username='******'", username)
    return success
Пример #5
0
def change_admin_status(username, is_admin):
    '''Change the admin status of a user.'''
    roles = AAA.session_roles()
    if AAA.current_user() == username:
        roles.add(AAA.Owner)
    if not AAA.UserRecord.authorize(roles, AAA.ChangeAdminStatus):
        raise Unauthorized(
            details="Not authorized to change the admin flag for this user")
    Manager.update_user(username, is_admin=is_admin)
    logger.info("Changed admin status for user '%s' to %s", username, is_admin)
Пример #6
0
def change_user_password(username, password):
    '''Change the password for a user.'''
    roles = AAA.session_roles()
    if AAA.current_user() == username:
        roles.add(AAA.Owner)
    if not AAA.UserRecord.authorize(roles, AAA.ChangeUserPassword):
        raise Unauthorized(
            details="Not authorized to change the password for this user")
    Manager.update_user(username, password=password)
    logger.info("Changed password for user: %s", username)
Пример #7
0
def session_info():
	dpcm_user = AAA.current_dpcm_user()
	current_project = AAA.session_get('project_id', None)
	current_plan = AAA.session_get('plan_id', None)

	ret = {}
	if dpcm_user is not None: ret['dpcm_user'] = dpcm_user
	if current_project is not None: ret['project_id'] = current_project
	if current_plan is not None: ret['plan_id'] = current_plan

	return ret
Пример #8
0
def create_user(user):
    '''Create a new system user.'''
    roles = AAA.session_roles()
    if not AAA.UserRecord.authorize(roles, AAA.Create):
        raise Unauthorized(details="Not authorized to create users")
    Manager.create_user(user)
    logger.info("New system user: %s", user.username)
Пример #9
0
def index(fname):
    if fname.startswith("html/index"):
        #
        # We have angular which uses the URL fragment to denote internal
        # pages.
        #

        # try to collect user, plan and project info before the fragment
        dpcm_user = request.query.user
        project_id = request.query.project_id
        plan_id = request.query.plan_id

        # save into the sesssion what is to be saved
        if dpcm_user or project_id or plan_id:
            if dpcm_user:
                AAA.set_dpcm_user(dpcm_user)
            if project_id:
                AAA.session_set('project_id', project_id)           
            if plan_id:
                AAA.session_set('plan_id', plan_id)
            logger.info("Main page loaded, current user=%s, project=%s, plan=%s", dpcm_user, project_id, plan_id)


    return static_file(fname, root=(nsdEdit_file_path() + '/dist'))
Пример #10
0
def logout():
    AAA.clear_current_user()