/
Initializing a session for the SmartFramework Authorization subsystem
Initializing a session for the SmartFramework Authorization subsystem
The following code demonstrates how a session can be initialized programatically so that the autorization API's will function properly. The code might be used using (Unit-)Tests, data imports or similar batch routines.
/* *************************** Definitions ************************** */ ROUTINE-LEVEL ON ERROR UNDO, THROW. USING Consultingwerk.Framework.Session.* FROM PROPATH . USING Consultingwerk.OERA.* FROM PROPATH . USING Consultingwerk.SmartFramework.Authentication.* FROM PROPATH . USING Consultingwerk.SmartFramework.System.* FROM PROPATH . USING Progress.Lang.* FROM PROPATH . {Consultingwerk/SmartFramework/Authorization/ttSecurityItemKeys.i} DEFINE VARIABLE oLoginCompany AS LoginCompanyDatasetModel NO-UNDO . DEFINE VARIABLE oUser AS UserDatasetModel NO-UNDO . DEFINE VARIABLE oGetGroupsParameter AS GetUserGroupAssignmentsParameter NO-UNDO . DEFINE VARIABLE hDataset AS HANDLE NO-UNDO . /* *************************** Main Block *************************** */ oLoginCompany = NEW LoginCompanyDatasetModel() . oUser = NEW UserDatasetModel() . oLoginCompany:SmartLoginCompany:Filter:LoginCompanyShort:EQ("Consultingwerk"):Run() . IF NOT oLoginCompany:SmartLoginCompany:Available THEN UNDO, THROW NEW AppError ("Invalid login company.", 0) . oUser:SmartUser:Filter:UserName:EQ("mikefe"):Run() . IF NOT oUser:SmartUser:Available THEN UNDO, THROW NEW AppError ("Invalid user.", 0) . ASSIGN SessionManager:LoginCompanyKey = oLoginCompany:SmartLoginCompany:LoginCompanyGuid SessionManager:LoginCompanyName = oLoginCompany:SmartLoginCompany:LoginCompanyName SessionManager:UserName = oUser:SmartUser:UserName SessionManager:UserKey = oUser:SmartUser:UserGuid . oGetGroupsParameter = NEW GetUserGroupAssignmentsParameter (SessionManager:UserName, SessionManager:LoginCompanyKey) . ServiceInterface:InvokeMethod ("Consultingwerk.SmartFramework.Authentication.UserBusinessEntity":U, "GetUserGroupAssignments":U, INPUT-OUTPUT DATASET-HANDLE hDataset, oGetGroupsParameter) . ASSIGN SessionManager:UserGroupKeys = oGetGroupsParameter:GroupGuids SessionManager:UserGroupNames = oGetGroupsParameter:GroupNames .
, multiple selections available,
Related content
Steps to create a new SmartDB and setup data and config for SmartDB.SmartUser based authentication
Steps to create a new SmartDB and setup data and config for SmartDB.SmartUser based authentication
More like this
SmartFramework Backoffice Release Notes 18.0.001
SmartFramework Backoffice Release Notes 18.0.001
More like this
SmartFramework Backoffice Release Notes 17.1.002
SmartFramework Backoffice Release Notes 17.1.002
More like this
SmartFramework Backoffice Release Notes 16.1.000
SmartFramework Backoffice Release Notes 16.1.000
More like this
assemblies.xml Generator
assemblies.xml Generator
More like this