To your concern about disabled javascript, you can still do what they describe but add CSS classes to all elements that would need to be hidden for non-admin/logged in users and just use display:none;
Finally, I would given some serious thought to who the audience is for the application. For most applications the % of users for whom javascript is disabled is so tiny for the amount of work it would require that it is not worth the effort.
Their solution is similar to #4.
To your concern about disabled javascript, you can still do what they describe but add CSS classes to all elements that would need to be hidden for non-admin/logged in users and just use display:none;
Finally, I would given some serious thought to who the audience is for the application. For most applications the % of users for whom javascript is disabled is so tiny for the amount of work it would require that it is not worth the effort.