Programaticamente ao acedermos a um SPWeb temos duas colecções
AssociatedGroups e
Groups:
A principal diferença é:
Groups são grupos que realmente tem algum tipo de permissão efectiva e os
AssociatedGroups são na mesma grupos que podem estar criados, terem utilizadores, mas que não dão acesso a nada, apenas existem.
Portanto a colecção Groups é um sub-conjunto de AssociatedGroups.
Ao percorrer a colecção
.Groups estamos a ver grupos que tem algum tipo de acesso (read, full control, etc). Se for criado um grupo e atribuir um nível de permissão, este apenas fica nos AssociatedGroups; o que quer dizer que apesar de ter um nível de permissão pré-definido não dá acesso a nada.
Ao adicionarmos esse AssociatedGroup ao SPWeb este passa a estar também nos Groups.
Para mapear estes conceitos com a interface do Sharepoint, os AssociatedGroups são os "Grupos" onde temos por omissão os proprietários, contribuintes, etc. e outros grupos criados por quem administra o site.
O facto de de estes grupos existitem não dão acesso ao utilizadores que lá se encontram adicionados.
Para um utilizador do grupo ter acesso é necessário adicionar o grupo na opção "Permissões do Site" que realmente reflecte as permissões efectivas do SPWeb.
Os AssociatedGroups depois podem ser usados para dar permissões especificas num sub-site, lista, etc. Assim os associated groups são uma boa forma de ter uma gestão centralizada de permissões de uma aplicação baseada em moss, o problema é que a interface do moss causa alguma confusão a quem começou à pouco tempo a mexer nas permissões/segurança.