//Is there a way to retrieve just all user allowed operations?//
To my best knowledge, the answer is either
A: Using the existing code....you have to loop over every Application, Every Operation, then run a check to see if your person (identity) has that permission. Which is database intensive and not very smart.
So if you have 3 Applications, with 1000 operations each, but your user only has 3 permissions (3 operations).......you'll have to loop 3000 times to find those 3 items.
Again, I'm going from memory.
or
B: Use the TSQL (above) to get everything in "one shot". The reason I wrote the above script is because getting everything in one shot wasnot available.