describeCompactLayouts(), describeLayout(), query(), retrieve()
Field Name | Details |
---|---|
AuthSessionId |
|
Description |
|
PermissionSetId |
|
UserId |
|
Use SessionPermSetActivation to create a permission set available only for a specified session’s duration. For example, create permission sets that provide access to specific applications only during authenticated sessions.
In the following Apex example, an identified session is activated after session information is submitted via a button. Successful activation results in a confirmation message displayed to the user.
public class SessionPermSetActivationController { // id of the session permission set to be activated private final String sessionPermSetId = '0PSxx00000004rJ'; private final String sessionId; public SessionPermSetActivationController() { Map<String, String> sessionManagement = Auth.SessionManagement.getCurrentSession(); sessionId = sessionManagement.get('SessionId'); } public PageReference activate() { // activate the permission set SessionPermSetActivation activation = new SessionPermSetActivation(); activation.AuthSessionId = sessionId; activation.PermissionSetId = sessionPermSetId; activation.Description = 'created by SessionPermSetActivationController'; insert activation; return null; } public boolean getActivated() { Integer alreadyActivated = [SELECT count() FROM SessionPermSetActivation WHERE AuthSessionId = :sessionId And PermissionSetId = :sessionPermSetId LIMIT 1]; return alreadyActivated > 0; } } <apex:page controller="SessionPermSetActivationController"> <apex:outputPanel rendered="{!!Activated}"> <h3>Activate Session Permission Set</h3> <br /> <apex:form > <apex:commandButton action="{!activate}" value="Activate" id="activateButton"/> </apex:form> </apex:outputPanel> <apex:outputPanel rendered="{!Activated}"> <h3>Session Permission Set is already active.</h3> </apex:outputPanel> </apex:page>