I have a case where we want Closed Opportunities to be read only for a certain profile, with the exception of two fields, Opportunity Owner and a custom field we have (then I also assume I would need to allow LastModifiedDate and LastModifiedBy to be changed).
I don't want to use Record Type/Page Layouts because we already have a bunch of them.
My plan was to use apex to compare the old and new map fields and throw an error if they are different, excluding my list of enumerated fields.
Is there a more elegant way to do this?