For clients that do not use Active Directory, it is possible to control access if you have middle tier. There are 2 different methods on how you can do this. All you need to do is add additional parameters into connection string and then setup matching SSAS role security.
Method 1:
User connects to middle tier application, lets say IIS. IIS is setup to connect to SSAS as some named user with certain assigned rights. Then you middle tier application dynamically builds SSAS connection string with additional parameter”Roles=Role1,Role2,Role3″. This parameter specifies what additional roles have to be assigned for that specific user.Method 2:
Sames as Method 1, but this time into connection string you pass parameter: “CustomData=appuser1″. Here appuser1 is any string that you use to identify specific connection. Then in SSAS role definitions you can use function CustomData() in the similar way as you would use function UserName() and retrieve value you pass from connection string.