Curso Online - Zope Básico - Versão 2.7.4
Segurança & usuários
Introdução
Neste capítulo você descobrirá como criar e administrar contas de usuários, e como controlar a maneira que os usuários utilizam a aplicação.
Segurança controla duas funções, autenticação e autorização. Autenticação significa descobrir quem você é, e a autorização significa determinar o que você pode fazer.O Zope oferece facilidades separadas para gerenciar o processo de reconhecimento de usuários e concessão de acesso a ações controladas.
Quando você acessa recursos protegidos (por exemplo, visualizando uma página privada) o Zope pedirá que você logue e procurará por sua conta de usuário. Este é o processo de autenticação. Note que o Zope apenas autenticará você caso você queira acessar um recurso protegido; se você apenas acessar recursos públicos o Zope e continuará assumindo que você é anônimo.
Uma vez autenticado, o Zope determina se você deve ou não ter acesso ao recurso protegido. Este processo envolve duas camadas intermediárias entre você e o recurso protegido, roles (papéis) e permissões. Usuários possuem papéis que descrevem o que podem fazer como "Author", "Manager", e "Editor". Os objetos do Zope têm permissões que descrevem o que pode ser feito como, por exemplo "Visualizar", "Apagar objetos", e "Gerenciar propriedades".
Políticas de segurança mapeiam os papéis para permissões; em outras palavras eles determinam quem pode fazer o que. Por exemplo, uma política de segurança pode associar o papel "Manager" com a permissão "Apagar objetos". Isso permite que os gerenciadores apaguem objetos. Neste caso Zope autoriza usuário a executar ações protegidas.
Usuários
Criando usários – Se na pasta local não existir uma pasta de usuários (acl_users), adicione uma usando o menu de tipos de objeto. Siga os passos abaixo para adicionar um user:
clique na pasta acl_users
clique no botão “add...”
preencha nome, senha e confirmação de senha
o campo Domains possibilita restringir os dominios pelos quais o usuário pode logar, isso pode ser útil quando as aplicações só puderem ser acessadas de um determinado escritorio. Deixe este campo vazio
Roles são os papeis, Manager é o administrador, tem todas as permissões, e Owner não é muito útil pois restringe o user a ser dono apenas de objetos e não um dono geral. Escolha Manager e clique em Add.
Pronto você acabou de adicionar um user, para editá-lo basta clicar sobre o nome dele na pasta acl_users.
Também é possível determinar local roles, ou seja, em determinada pasta determinado usuário tem determinada role/papel.
Contas especiais de usuários – O Zope tem três contas especiais de usuários que não são definidas com diretórios de usuários, o anonymous user(usuário anônimo), o emergency user(usuário de emergência) e o initial manager(administrador inicial). O usuário anônimo é utilizado freqüentemente, enquanto as contas do usuário de emergência e administrador inicial são raramente utilizadas mas é importante conhecer e saber.
Usuário Anônimo do Zope – é o anonymous user, que tem acesso somente as áreas pública do site e não à ZMI
Usuário Emergencial do Zope - é uma conta de usuário especial para uso de emergência chamado emergency user, e é realmente útil para duas coisas: ordenar permissões, e criar contas de administrador. Detalhe importante, o usuário emergencial não pode criar nenhum tipo de objeto que não seja de segurança, ou seja, loge-se como usuário emergencial faça as alterações e se desloge e loge novamente com um user que seja manager.
Administrador Inicial do Zope - A conta do Administrador Inicial é criada pelo instalador do Zope para que você possa logar no Zope pela primeira vez.
Aba
Security – Roles, Local Roles e Permissões
Na aba Security encontramos 3 coisas que definem a administração da segurança na aplicação: roles, local roles e permissões.
Roles são papeis que eu posso atribuir, os default são: Manager, Owner, Authenticated e Anonymous, sendo que eu posso criar novos e atribuir permissões locais a esses novos papeis e quando crio novos users posso criá-los com tais novos papeis. Novas roles são úteis quando preciso de um usuário em um determinado contexto que deve ter apenas algumas permissões
Local Roles são papéis definidos localmente em casos específicos, por exemplo um user qualquer deve ter permissão de manager em apenas uma única pasta, nesse caso acessamos a ba security da pasta e setamos uma local roles.
Permissões aqui está a parte em que definimos quem pode fazer o que, view, take ownership, etc...
Obs.: a opção Acquire permission settings? quando acionada pega por aquisição as regras de segurança.