There are several legitimate uses for this, and here is one example: if you create a really simple site that just has an administrator account and an unauthenticated account, you can do
[Authorize(Users = "Admin")]
This eliminates the need to create roles for only one user. Think of a UNIX style where the root account (uid 0) is a special, not a specific group.
Another example is just a dropping application where you are checking something. There is no reason to worry about roles if you just want to check your authentication page or something like that.
Another reason: testing. You can create a unit test only for your authentication, not wanting the unit test of your platform based on roles. (Keep in mind that not everyone uses the default membership provider, and some membership providers are quite complex.) By creating strong coded authentication for the test user, you can get around the role structure.
David pfeffer
source share