In SSAS 2000 I have a security cube (FactSecurity), a flat dimension, containing all the possible security entries for the secured dimension (FlatDimSec) and a user dimension (DimUser) containing all the users.
To secure the cube I used virtual cubes and roles with a statement like the following:
STRTOSET(IIF(USERNAME="","{}",SETTOSTR(GENERATE(NO NEMPTYCROSSJOIN([FlatDimSec].[DimKey].MEMBERS,{STRTOMEMBER("[DimUser].[Alle DimUser].[" + MID( InStr(1,Username,"\")+1) ) + "]")},1),{LINKMEMBER([FlatDimSec].CURRENTMEMBER, [DimArtikelAktSt].[ProdPML])}))))
The dimension [DimArtikelAktSt].[ProdPML] is a hierarchy of DimArtikelAktSt which is secured. It works pretty good. I secure all hierarchy levels with this statement.

Now I want to migrate this security to SSAS 2005 and could not get it to work. I checked out what the migration wizard does. But it was not very helpful. The migration wizard produces something like this:
exists([DimArtikelAktSt].[hierarchy-level-Attribut 1].[hierarchy-level-Attribut 1].members, STRTOSET(IIF(USERNAME="","{}",SETTOSTR(GENERATE(NO NEMPTYCROSSJOIN([FlatDimSec].[DimKey].MEMBERS,{STRTOMEMBER("[DimUser].[Alle DimUser].[" + MID( USERNAME,INSTR(1, USERNAME, "\") + 1, 128 ) + "]")},1),{LINKMEMBER([FlatDimSec].CURRENTMEMBER, [DimArtikelAktSt].[ProdPML])})))))

whereby "hierarchy-level-Attribut 1" in line one is one attribute in the hierarchy.

As I know there is a paradigm change from hierarchy based security to attribute based security. ( http://sqljunkies.com/WebLog/mosha/a.../10/10599.aspx as Mocha told us)
I saw another good resource on the web from Reed (http://sqljunkies.com/WebLog/hitachi.../29/23048.aspx) But these solutions do not work for my scenario with a fact table.

I redesigned all cubes in SSAS 2005 from scratch into one big SSAS 2005 cube "construction" with x measure groups. Now the dynamic security is the missing piece in the puzzle.

Could anyone help?