The user definitions role, user, RunWithUsers.PRODUCER and RunWithUsers.ANONYMOUS must be same in the assertion and in the @RunWithUsers annotation. For example if the @RunWithUsers has user:admin and that user has ROLE_ADMIN role it can be only asserted with user:admin and not role:ROLE_ADMIN. Also producer users can only be asserted with RunWithUsers.PRODUCER definition and not with user or role. Users specified with special definitions RunWithUsers.PRODUCER and RunWithUsers.ANONYMOUS can only be asserted with the exact same special definitions.
How much will you make? I think my best month with Google AdSense was almost $5,000 over the last ten years. That amazing month blew my mind since it was actually near the beginning of my blogging journey. When you go from making zero to $5,000 in a month, that will rock your world. For me, it also got me even more excited because I knew there were other ways to monetize.