Child pages
  • Security

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Hidden
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE


HTML Table
classservoy sReturnTypes
Table Row (tr)
styleheight: 30px;
Table Head (th)
Return Types
Table Row (tr)
Table Cell (td)


HTML Table
classservoy sSummery
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Constants Summery
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#ACCESSIBLE
Constant representing the accessible flag for form security.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#DELETE
Constant representing the delete flag for table security.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#INSERT
Constant representing the insert flag for table security.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#READ
Constant representing the read flag for table security.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#TRACKING
Constant representing the tracking flag for table security.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#UPDATE
Constant representing the update flag for table security.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#VIEWABLE
Constant representing the viewable flag for form security.

HTML Table
classservoy sSummery
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Method Summery
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#addUserToGroup(a_userUID, groupName)
Adds an user to a named group.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Object
Table Cell (td)
#authenticate(authenticator_solution, method)
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Object
Table Cell (td)
#authenticate(authenticator_solution, method, [credentials])
Authenticate to the Servoy Server using one of the installed authenticators or the Servoy default authenticator.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#canDelete(dataSource)
Returns a boolean value for security rights.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#canInsert(dataSource)
Returns a boolean value for security rights.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#canRead(dataSource)
Returns a boolean value for security rights.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#canUpdate(dataSource)
Returns a boolean value for security rights.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#changeGroupName(oldGroupName, newGroupName)
Changes the groupname of a group.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#changeUserName(a_userUID, username)
Changes the username of the specified userUID.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#checkPassword(a_userUID, password)
Returns true if the password for that userUID is correct, else false.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#createGroup(groupName)
Creates a group, returns the groupname (or null when group couldn't be created).
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Object
Table Cell (td)
#createUser(username, password, [userUID])
Creates a new user, returns new uid (or null when group couldn't be created or user alreay exist).
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#deleteGroup(groupName)
Deletes a group, returns true if no error was reported.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#deleteUser(userUID)
Deletes an user.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getClientID()
Returns the client ID.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSDataSet
Table Cell (td)
#getElementUUIDs(formname)
Returns the form elements UUID's as dataset, the one with no name is the form itself.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSDataSet
Table Cell (td)
#getGroups()
Get all the groups (returns a dataset).
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getSystemUserName()
Retrieves the username of the currently logged in user on operating system level.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSDataSet
Table Cell (td)
#getUserGroups()
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSDataSet
Table Cell (td)
#getUserGroups([userUID])
Get all the groups of the current user, finds the goups for given user UID if passed as parameter.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getUserName([userUID])
Get the current user name (null if not logged in), finds the user name for given user UID if passed as parameter.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getUserUID([username])
Get the current user UID (null if not logged in), finds the userUID for given user_name if passed as parameter.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSDataSet
Table Cell (td)
#getUsers()
Get all the users in the security settings (returns a dataset).
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#login(display_username, a_userUID, groups)
Login to be able to leave the solution loginForm.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#logout([solutionToLoad], [method], [argument])
Logout the current user.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#removeUserFromGroup(a_userUID, groupName)
Removes an user from a group.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#setPassword(a_userUID, password)
Set a new password for the given userUID.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#setSecuritySettings(dataset)
Sets the security settings; the entries contained in the given dataset will override those contained in the current security settings.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#setUserUID(a_userUID, newUserUID)
Set a new userUID for the given userUID.

HTML Table
idconstant
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Constants Details
Table Body (tbody)
idACCESSIBLE
classnode
Table Row (tr)
idname
Table Cell (td)
ACCESSIBLE
Table Row (tr)
iddes
Table Cell (td)
Constant representing the accessible flag for form security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idDELETE
classnode
Table Row (tr)
idname
Table Cell (td)
DELETE
Table Row (tr)
iddes
Table Cell (td)
Constant representing the delete flag for table security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idINSERT
classnode
Table Row (tr)
idname
Table Cell (td)
INSERT
Table Row (tr)
iddes
Table Cell (td)
Constant representing the insert flag for table security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idREAD
classnode
Table Row (tr)
idname
Table Cell (td)
READ
Table Row (tr)
iddes
Table Cell (td)
Constant representing the read flag for table security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idTRACKING
classnode
Table Row (tr)
idname
Table Cell (td)
TRACKING
Table Row (tr)
iddes
Table Cell (td)
Constant representing the tracking flag for table security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idUPDATE
classnode
Table Row (tr)
idname
Table Cell (td)
UPDATE
Table Row (tr)
iddes
Table Cell (td)
Constant representing the update flag for table security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idVIEWABLE
classnode
Table Row (tr)
idname
Table Cell (td)
VIEWABLE
Table Row (tr)
iddes
Table Cell (td)
Constant representing the viewable flag for form security.
Table Row (tr)
idret
Table Cell (td)
Returns
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)


HTML Table
idfunction
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Method Details
Table Body (tbody)
idaddUserToGroup
classnode
Table Row (tr)
idname
Table Cell (td)
addUserToGroup
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
addUserToGroup
Span
stylefloat: left;
idiets
(a_userUID, groupName)
Table Row (tr)
iddes
Table Cell (td)
Adds an user to a named group.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} a_userUID – the user UID to be added
{Object} groupName – the group to add to
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if added
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var userUID = security.getUserUID();
security.addUserToGroup(userUID, 'groupname');
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idauthenticate
classnode
Table Row (tr)
idname
Table Cell (td)
authenticate
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Object
Span
stylefloat: left; font-weight: bold;
idiets
authenticate
Span
stylefloat: left;
idiets
(authenticator_solution, method, [credentials])
Table Row (tr)
iddes
Table Cell (td)

Authenticate to the Servoy Server using one of the installed authenticators or the Servoy default authenticator.

Note: this method should be called from a login solution.

Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} authenticator_solution – authenticator solution installed on the Servoy Server, null for servoy built-in authentication
{String} method – authenticator method, null for servoy built-in authentication
{Object[]} [credentials] – array whose elements are passed as arguments to the authenticator method, in case of servoy built-in authentication this should be [username, password]
Table Row (tr)
idret
Table Cell (td)
Returns
Object – authentication result from authenticator solution or boolean in case of servoy built-in authentication
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
// create the credentials object as expected by the authenticator solution
var ok =  security.authenticate('myldap_authenticator', 'login', [globals.userName, globals.passWord])
if (!ok)
{
	plugins.dialogs.showErrorDialog('Login failed', 'OK')
}

// if no authenticator name is used, the credentials are checked using the Servoy built-in user management
ok = security.authenticate(null, null, [globals.userName, globals.passWord])
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcanDelete
classnode
Table Row (tr)
idname
Table Cell (td)
canDelete
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
canDelete
Span
stylefloat: left;
idiets
(dataSource)
Table Row (tr)
iddes
Table Cell (td)
Returns a boolean value for security rights.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataSource – the datasource
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if allowed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var dataSource = controller.getDataSource();
var canDelete = security.canDelete(dataSource);
var canInsert = security.canInsert(dataSource);
var canUpdate = security.canUpdate(dataSource);
var canRead = security.canRead(dataSource);
application.output("Can delete? " + canDelete);
application.output("Can insert? " + canInsert);
application.output("Can update? " + canUpdate);
application.output("Can read? " + canRead);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcanInsert
classnode
Table Row (tr)
idname
Table Cell (td)
canInsert
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
canInsert
Span
stylefloat: left;
idiets
(dataSource)
Table Row (tr)
iddes
Table Cell (td)
Returns a boolean value for security rights.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataSource – the datasource
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if allowed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var dataSource = controller.getDataSource();
var canDelete = security.canDelete(dataSource);
var canInsert = security.canInsert(dataSource);
var canUpdate = security.canUpdate(dataSource);
var canRead = security.canRead(dataSource);
application.output("Can delete? " + canDelete);
application.output("Can insert? " + canInsert);
application.output("Can update? " + canUpdate);
application.output("Can read? " + canRead);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcanRead
classnode
Table Row (tr)
idname
Table Cell (td)
canRead
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
canRead
Span
stylefloat: left;
idiets
(dataSource)
Table Row (tr)
iddes
Table Cell (td)
Returns a boolean value for security rights.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataSource – the datasource
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if allowed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var dataSource = controller.getDataSource();
var canDelete = security.canDelete(dataSource);
var canInsert = security.canInsert(dataSource);
var canUpdate = security.canUpdate(dataSource);
var canRead = security.canRead(dataSource);
application.output("Can delete? " + canDelete);
application.output("Can insert? " + canInsert);
application.output("Can update? " + canUpdate);
application.output("Can read? " + canRead);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcanUpdate
classnode
Table Row (tr)
idname
Table Cell (td)
canUpdate
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
canUpdate
Span
stylefloat: left;
idiets
(dataSource)
Table Row (tr)
iddes
Table Cell (td)
Returns a boolean value for security rights.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataSource – the datasource
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if allowed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var dataSource = controller.getDataSource();
var canDelete = security.canDelete(dataSource);
var canInsert = security.canInsert(dataSource);
var canUpdate = security.canUpdate(dataSource);
var canRead = security.canRead(dataSource);
application.output("Can delete? " + canDelete);
application.output("Can insert? " + canInsert);
application.output("Can update? " + canUpdate);
application.output("Can read? " + canRead);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idchangeGroupName
classnode
Table Row (tr)
idname
Table Cell (td)
changeGroupName
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
changeGroupName
Span
stylefloat: left;
idiets
(oldGroupName, newGroupName)
Table Row (tr)
iddes
Table Cell (td)
Changes the groupname of a group.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} oldGroupName – the old name
{String} newGroupName – the new name
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if changed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
security.changeGroupName('oldGroup', 'newGroup');
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idchangeUserName
classnode
Table Row (tr)
idname
Table Cell (td)
changeUserName
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
changeUserName
Span
stylefloat: left;
idiets
(a_userUID, username)
Table Row (tr)
iddes
Table Cell (td)
Changes the username of the specified userUID.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} a_userUID – the userUID to work on
{String} username – the new username
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if changed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
if(security.changeUserName(security.getUserUID('name1'), 'name2'))
{
	application.output('Username changed');
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcheckPassword
classnode
Table Row (tr)
idname
Table Cell (td)
checkPassword
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
checkPassword
Span
stylefloat: left;
idiets
(a_userUID, password)
Table Row (tr)
iddes
Table Cell (td)
Returns true if the password for that userUID is correct, else false.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} a_userUID – the userUID to check the password for
{String} password – the new password
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if password oke
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
if(security.checkPassword(security.getUserUID(), 'password1'))
{
	security.setPassword(security.getUserUID(), 'password2')
}
else
{
	application.output('wrong password')
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcreateGroup
classnode
Table Row (tr)
idname
Table Cell (td)
createGroup
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
createGroup
Span
stylefloat: left;
idiets
(groupName)
Table Row (tr)
iddes
Table Cell (td)
Creates a group, returns the groupname (or null when group couldn't be created).
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} groupName – the group name to create
Table Row (tr)
idret
Table Cell (td)
Returns
String – the created groupname
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idcreateUser
classnode
Table Row (tr)
idname
Table Cell (td)
createUser
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Object
Span
stylefloat: left; font-weight: bold;
idiets
createUser
Span
stylefloat: left;
idiets
(username, password, [userUID])
Table Row (tr)
iddes
Table Cell (td)
Creates a new user, returns new uid (or null when group couldn't be created or user alreay exist).
Table Row (tr)
idprs
Table Cell (td)
Parameters
username – the username
password – the user password
[userUID] – the userUID to use
Table Row (tr)
idret
Table Cell (td)
Returns
Object – the userUID the created userUID, will be same if provided
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
iddeleteGroup
classnode
Table Row (tr)
idname
Table Cell (td)
deleteGroup
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
deleteGroup
Span
stylefloat: left;
idiets
(groupName)
Table Row (tr)
iddes
Table Cell (td)
Deletes a group, returns true if no error was reported.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} groupName – the name of the group to delete
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if deleted
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
iddeleteUser
classnode
Table Row (tr)
idname
Table Cell (td)
deleteUser
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
deleteUser
Span
stylefloat: left;
idiets
(userUID)
Table Row (tr)
iddes
Table Cell (td)
Deletes an user. returns true if no error was reported.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} userUID – The UID of the user to be deleted.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if the user is successfully deleted.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetClientID
classnode
Table Row (tr)
idname
Table Cell (td)
getClientID
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getClientID
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Returns the client ID.
Table Row (tr)
idret
Table Cell (td)
Returns
String – the clientId as seen on the server admin page
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var clientId = security.getClientID()
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetElementUUIDs
classnode
Table Row (tr)
idname
Table Cell (td)
getElementUUIDs
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSDataSet
Span
stylefloat: left; font-weight: bold;
idiets
getElementUUIDs
Span
stylefloat: left;
idiets
(formname)
Table Row (tr)
iddes
Table Cell (td)
Returns the form elements UUID's as dataset, the one with no name is the form itself.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} formname – the formname to retieve the dataset for
Table Row (tr)
idret
Table Cell (td)
Returns
JSDataSet – dataset with element info
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var formElementsUUIDDataSet = security.getElementUUIDs('orders_form');
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetGroups
classnode
Table Row (tr)
idname
Table Cell (td)
getGroups
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSDataSet
Span
stylefloat: left; font-weight: bold;
idiets
getGroups
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get all the groups (returns a dataset).
first id column is depricated!, use only the group name column.
Table Row (tr)
idret
Table Cell (td)
Returns
JSDataSet – dataset with all the groups
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetSystemUserName
classnode
Table Row (tr)
idname
Table Cell (td)
getSystemUserName
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getSystemUserName
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Retrieves the username of the currently logged in user on operating system level.
Table Row (tr)
idret
Table Cell (td)
Returns
String – the os user name
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//gets the current os username
var osUserName = security.getSystemUserName();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetUserGroups
classnode
Table Row (tr)
idname
Table Cell (td)
getUserGroups
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSDataSet
Span
stylefloat: left; font-weight: bold;
idiets
getUserGroups
Span
stylefloat: left;
idiets
([userUID])
Table Row (tr)
iddes
Table Cell (td)
Get all the groups of the current user, finds the goups for given user UID if passed as parameter.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} [userUID] – to retrieve the user groups
Table Row (tr)
idret
Table Cell (td)
Returns
JSDataSet – dataset with groupnames
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//get all the users in the security settings (Returns a JSDataset)
var dsUsers = security.getUsers()

//loop through each user to get their group
//The getValue call is (row,column) where column 1 == id and 2 == name
for(var i=1 ; i<=dsUsers.getMaxRowIndex() ; i++)
{
	//print to the output debugger tab: "user: " and the username
	application.output("user:" + dsUsers.getValue(i,2));

	//set p to the user group for the current user
	var p = security.getUserGroups(dsUsers.getValue(i,1));

	for(k=1;k<=p.getMaxRowIndex();k++)
	{
		//print to the output debugger tab: "group" and the group(s)
		//the user belongs to
		application.output("group: " + p.getValue(k,2));
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetUserName
classnode
Table Row (tr)
idname
Table Cell (td)
getUserName
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getUserName
Span
stylefloat: left;
idiets
([userUID])
Table Row (tr)
iddes
Table Cell (td)
Get the current user name (null if not logged in), finds the user name for given user UID if passed as parameter.
Table Row (tr)
idprs
Table Cell (td)
Parameters
[userUID] – to retrieve the name
Table Row (tr)
idret
Table Cell (td)
Returns
String – the user name
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//gets the current loggedIn username
var userName = security.getUserName();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetUserUID
classnode
Table Row (tr)
idname
Table Cell (td)
getUserUID
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getUserUID
Span
stylefloat: left;
idiets
([username])
Table Row (tr)
iddes
Table Cell (td)
Get the current user UID (null if not logged in), finds the userUID for given user_name if passed as parameter.
Table Row (tr)
idprs
Table Cell (td)
Parameters
[username] – the username to find the userUID for
Table Row (tr)
idret
Table Cell (td)
Returns
String – the userUID
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//gets the current loggedIn username
var userName = security.getUserName(); 
//gets the uid of the given username
var userUID = security.getUserUID(userName);
//is the same as above 
//var my_userUID = security.getUserUID();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetUsers
classnode
Table Row (tr)
idname
Table Cell (td)
getUsers
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSDataSet
Span
stylefloat: left; font-weight: bold;
idiets
getUsers
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get all the users in the security settings (returns a dataset).
Table Row (tr)
idret
Table Cell (td)
Returns
JSDataSet – dataset with all the users
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//get all the users in the security settings (Returns a JSDataset)
var dsUsers = security.getUsers()

//loop through each user to get their group
//The getValue call is (row,column) where column 1 == id and 2 == name
for(var i=1 ; i<=dsUsers.getMaxRowIndex() ; i++)
{
	//print to the output debugger tab: "user: " and the username
	application.output("user:" + dsUsers.getValue(i,2));

	//set p to the user group for the current user
	var p = security.getUserGroups(dsUsers.getValue(i,1));

	for(k=1;k<=p.getMaxRowIndex();k++)
	{
		//print to the output debugger tab: "group" and the group(s)
		//the user belongs to
		application.output("group: " + p.getValue(k,2));
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idlogin
classnode
Table Row (tr)
idname
Table Cell (td)
login
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
login
Span
stylefloat: left;
idiets
(display_username, a_userUID, groups)
Table Row (tr)
iddes
Table Cell (td)

Login to be able to leave the solution loginForm.

Example: Group names may be received from LDAP (Lightweight Directory Access Protocol) - a standard protocol used in web browsers and email applications to enable lookup queries that access a directory listing.

Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} display_username – the user display name, like 'James Webb'
{Object} a_userUID – the user UID to process login for
{String[]} groups – the groups array
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if loggedin
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var groups = new Array()
groups[0] = 'Administrators'; //normally these groups are for example received from LDAP
var user_uid = globals.email; //also this uid might be received from external authentication method
var ok =  security.login(globals.username, user_uid , groups)
if (!ok)
{
	plugins.dialogs.showErrorDialog('Login failure',  'Already logged in? or no user_uid/groups specified?', 'OK')
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idlogout
classnode
Table Row (tr)
idname
Table Cell (td)
logout
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
logout
Span
stylefloat: left;
idiets
([solutionToLoad], [method], [argument])
Table Row (tr)
iddes
Table Cell (td)
Logout the current user.
Table Row (tr)
idprs
Table Cell (td)
Parameters
[solutionToLoad] – the solution to load after logout
[method] – the method to run in the solution to load
[argument] – the argument to pass to the method to run
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var groups = new Array();
	groups[0] = 'testgroup';
	var ok =  security.login('user1', security.getUserUID('user1') , groups)
	if (!ok) 
	{
		plugins.dialogs.showErrorDialog('Login failure',  'Already logged in? or no user_uid/groups specified?', 'OK')
 	}
	else 
	{ 
 		plugins.dialogs.showInfoDialog('Logged in','Logged in','OK') 
	} 
	security.logout();
	//security.logout('solution_name');//log out and open solution 'solution_name'
	//security.logout('solution_name','global_method_name','my_argument');//log out, open solution 'solution_name', call global method 'global_method_name' with argument 'my_argument'
	//note: specifying a solution will not work in developer due to debugger dependencies
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idremoveUserFromGroup
classnode
Table Row (tr)
idname
Table Cell (td)
removeUserFromGroup
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
removeUserFromGroup
Span
stylefloat: left;
idiets
(a_userUID, groupName)
Table Row (tr)
iddes
Table Cell (td)
Removes an user from a group.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} a_userUID – the user UID to be removed
{Object} groupName – the group to remove from
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if removed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsetPassword
classnode
Table Row (tr)
idname
Table Cell (td)
setPassword
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
setPassword
Span
stylefloat: left;
idiets
(a_userUID, password)
Table Row (tr)
iddes
Table Cell (td)
Set a new password for the given userUID.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} a_userUID – the userUID to set the new password for
{String} password – the new password
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if changed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
if(security.checkPassword(security.getUserUID(), 'password1'))
{
	security.setPassword(security.getUserUID(), 'password2')
}
else
{
	application.output('wrong password')
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsetSecuritySettings
classnode
Table Row (tr)
idname
Table Cell (td)
setSecuritySettings
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
setSecuritySettings
Span
stylefloat: left;
idiets
(dataset)
Table Row (tr)
iddes
Table Cell (td)

Sets the security settings; the entries contained in the given dataset will override those contained in the current security settings.

NOTE: The security.getElementUUIDs and security.setSecuritySettings functions can be used to define custom security that overrides Servoy security.
For additional information see the function security.getElementUUIDs.

Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} dataset – the dataset with security settings
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var colNames = new Array();
colNames[0] = 'uuid';
colNames[1] = 'flags';
var dataset = databaseManager.createEmptyDataSet(0,colNames);

var row = new Array();
row[0] = '413a4d69-becb-4ae4-8fdd-980755d6a7fb';//normally retreived via security.getElementUUIDs(...)
row[1] = JSSecurity.VIEWABLE|JSSecurity.ACCESSIBLE; // use bitwise 'or' for both
dataset.addRow(row);//setting element security

row = new Array();
row[0] = 'example_data.orders';
row[1] = JSSecurity.READ|JSSecurity.INSERT|JSSecurity.UPDATE|JSSecurity.DELETE|JSSecurity.TRACKING; //use bitwise 'or' for multiple flags
dataset.addRow(row);//setting table security

security.setSecuritySettings(dataset);//to be called in solution startup method
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsetUserUID
classnode
Table Row (tr)
idname
Table Cell (td)
setUserUID
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
setUserUID
Span
stylefloat: left;
idiets
(a_userUID, newUserUID)
Table Row (tr)
iddes
Table Cell (td)
Set a new userUID for the given userUID.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object} a_userUID – the userUID to set the new user UID for
{String} newUserUID – the new user UID
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if changed
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var removeUser = true;
//create a user
var uid = security.createUser('myusername', 'mypassword');
if (uid) //test if user was created
{
	// Get all the groups
	var set = security.getGroups();
	for(var p = 1 ; p <= set.getMaxRowIndex() ; p++)
	{
		// output name of the group
		application.output(set.getValue(p, 2));
		// add user to group
		security.addUserToGroup(uid, set.getValue(p,2));
	}
	// if not remove user, remove user from all the groups
	if(!removeUser)
	{
		// get now all the groups that that users has (all if above did go well)
		var set =security.getUserGroups(uid);
		for(var p = 1;p<=set.getMaxRowIndex();p++)
		{
			// output name of the group
			application.output(set.getValue(p, 2));
			// remove the user from the group
			security.removeUserFromGroup(uid, set.getValue(p,2));
		}
	}
	else
	{
		// delete the user (the user will be removed from the groups)
		security.deleteUser(uid);
	}
}
Table Row (tr)
classlastDetailRow
Table Cell (td)