Permission sets allow you to create a set of permissions for assignment to users. For example, you can assign the Edit Case Comments, Manage Cases, and Edit Activated Orders permissions to all Support managers in your org by enabling all three permissions in one permission set for easy assignment.
Session Based Permission Set
Session-based permission sets operate under the same principle, but with an added session-activation option. A computer session begins when a user logs in and begins to interact with another user or with a device. For example, when you authenticate into your computer network at work, you begin, or activate, a session that lasts until you log off or until the session ends for another reason.
A session can end, for example, if a company’s security policy requires that sessions inactive for a specified number of minutes time out.
Selecting “Session Activation Required” indicates to Salesforce that a permission set becomes enabled only with an activated session
In Find Settings…, search for the Contracts object
Click Contracts and for object, enable the Create, Read, Edit, and Delete permissions. For fields, enable Edit Access for Contract Name, Contract Start Date, Contract Terms (months), and make sure to save.
When you select Session Activation Required, the permission set does nothing until a session is activated for it. You must assign the permission set to someone.
How to Assign User
This blog information very useful to learn about Session based permission set and assigning user.