Наиболее простым вариантом будет хранить в таблице T_UserRights(ID_User, ID_Button, isVisible)
ID_Button в форме хранить в поле Tag.
Ну и потом
foreach(Control item in Controls)
{
if (item is Button)
{
(Button)item.Visible = // берем значение из таблицы.
}
}
Но права пользователей нужно проверять на уровне базы, нельзя доверять эту проверку клиенту (ее элементарно обойти).