AMT Help Files

ILionReposSecurity

This section details the functions and properties of the AMT-COBOL Repository Module Security interface

Functions

Function name Return type Parameters 
Description
Name
Type
AddGroup
ILionReposSecurityGroup Object
GroupName
String Add the group to the database and memory
AddUser ILionReposSecurityUser Object UserName String Add the user to the database and memory
FindGroupByName ILionReposSecurityGroup Object
GroupName String Find a group by its name
FindUserByName ILionReposSecurityUser Object
UserName String Find a user by its name
GetLabelPermissions ILionLabelPermissions Object Group ILionReposSecurityGroup Object
Gets the label permissions for the specified group
Label ILionLabel Object
   
GetPermissions ILionReposPermissions Object App ILionApplication Object Returns the permissions for the provided application/genset/group

Please note that the user which is using the repository API,
needs to be system administrator in the repository
to use the GetPermissions and SavePermissions methods.
GenSet ILionGenSet Object
Group ILionReposSecurityGroup Object
HasLabelRight Boolean Label ILionLabel Object Check whether the current user is allowed to execute the provided action to the label
Action LionLabelRightAction Object
   
HasRight Boolean App ILionApplication Object Check if the current user has the right to perform the selected action
GenSet ILionGenSet Object
Action LionRightAction Object
ObjectType LionObjectType Object 
   
MarkUserAsDeleted Void UserSec ILionReposSecurityUser Object Mark the user as deleted in the database and memory
RemoveGroup Void GroupSec ILionReposSecurityGroup Object Remove the group from the database and memory
ReturnAllGroups List of
ILionReposSecurityGroup Objects


Return a list of all groups
ReturnAllUsers List of
ILionReposSecurityUser Objects 


Return a list of all users
SaveLabelPermissions Void Label ILionLabel Object Saves the label permissions to the repository
Permissions ILionLabelPermissions Object
   
SavePermissions Void App ILionApplication Object Saves the permissions for the provided application/genset/group

Please note that the user which is using the repository API,
needs to be system administrator in the repository 
to use the GetPermissions and SavePermissions methods.
GenSet ILionGenSet Object
Group ILionReposSecurityGroup Object
Permissions ILionReposPermissions Object
   
UnDeleteUser ILionReposSecurityUser UserSec ILionReposSecurityUser Object Undelete the specified user

Enumerations

Name   Type   Enumeration  
LionLabelRightAction

Namespace:
Asysco.Lion.Repository.Enums

For a description of the label right actions,
see ILionLabelPermissions
Int
  • LookInto
  • Administrator
  • Create
  • Modify
  • Delete
  • AssignObjects
  • DeleteObjects

LionRightAction

Namespace:
Asysco.Lion.Repository











For a description of the right actions,
see ILionReposPermissions

Int
  • None
  • Security
  • Administrator
  • CheckInOther
  • DeleteOther
  • DeleteOwn
  • CreateNew
  • ChangeObject
  • Generate
  • LookInto
  • Viewlocked
  • GrantLocks
  • SelectGeneratePriority
  • ChangeGeneratePriority
  • SelectRevId
  • UseGetAllNewest
  • ExportLionSources
  • ImportLionSources
  • SystemAdmin
  • DeleteGenerateRequestsOthers

Example

C#


ILionReposSecurity security = repos.GetSecurity();

ILionReposSecurityGroup testGroup = security.FindGroupByName("Test");

if (testGroup == null) {
    Log("Error locating group");
}

// Check whether the current user is allowed to look into the DEMO2 application
bool lookInto = security.HasRight(app, genSet, LionRightAction.LookInto, LionObjectType.ApplicationKindLionASeries);

// Retrieve the permissions for the Test group in for the DEMO2 application in the Test genset
ILionReposPermissions permissions = null;
try {
  permissions = security.GetPermissions(app, genSet, testGroup);
} catch {
  Log("You are not authorized to retrieve repository permissions");
  return;
}

// Allow the test group to look into the DEMO2 application in the default genset
try {
  permissions.LookInto = false;
  security.SavePermissions(app, genSet, testGroup, permissions);
} catch {
  Log("You are not authorized to retrieve repository permissions");
  return;
}


PowerShell


$O_Security = $O_Repos.GetSecurity()

$O_TestGroup = $O_Security.FindGroupByName("Test")

if ($O_TestGroup -eq $null) {
    Write-Error("Error locating group")
}

# Check whether the current user is allowed to look into the DEMO2 application
$O_LookInto = $O_Security.HasRight($O_App, $O_GenSet, $O_RightActions::LookInto, $O_ObjectTypes::ReportUser)

# Retrieve the permissions for the Test group in for the DEMO2 application in the default genset
try {
  $O_Permissions = $O_Security.GetPermissions($O_App, $O_GenSet, $O_TestGroup)
} catch {
  Write-Error "You are not authorized to retrieve repository permissions"
}

# Allow the test group to look into the DEMO2 application in the default genset
try {
  $O_Permissions.LookInto = $true
  $O_Security.SavePermissions($O_App, $O_GenSet, $O_TestGroup, $O_Permissions)
} catch {
  Write-Error "You are not authorized to save repository permissions"
}