I'm looking for some clarification on the behavior of dynamic apex.
I am seeing some inconsistent behavior around schema global describe and sobject describe field maps.
In the below example Rule__c is a custom table that is unmanaged.
// below executed in transaction started in AuraEnabled method and will return null for user with standard profile, but works for sys admin
AssignRule__c.getDescribe().fields.getMap().get('Course_Session__c'.toLowerCase());
// below executed in transaction started in AuraEnabled method
// will return null for user with standard profile, but works for sys admin
Schema.getGlobalDescribe().get('Rule__c');
Does this seem strange to anybody? Has anybody encountered this before? I'm thinking about building a wrapper for describe information to fill in the gaps as they are found, since the code is able to directly access Rule__c.SObjectType and AssignRule__c.Course_Session__c.