The best way to do this is to set EventMoveHandling and EventResizeHandling valu depending on the permission check.
The default value is "Disabled" which will work for read-only scenarios. If the user has the correct permissions, you should change it to "CallBack", "PostBack", "Notify" or "JavaScript" in Page_Load:
// ...
if (CanModify) {
DayPilotScheduler1.EventMoveHandling = UserActionHandling.CallBack;
DayPilotScheduler1.EventResizeHandling = UserActionHandling.CallBack;
}
// ...
Remember to check the permissions in the EventMove and EventResize handlers as well.