pyramid_multiauth é uma política de autenticação de pirâmide que proxies para uma pilha de outras políticas de autenticação.
Visão geral
MultiAuthenticationPolicy é uma autenticação pirâmide que proxies para uma pilha de outros objectos IAuthenticationPolicy, para fornecer uma solução de autenticação combinados a partir de peças individuais. Basta passar uma lista de políticas que devem ser julgados em ordem:
políticas = [
& Nbsp; IPAuthenticationPolicy (".. 127,0 * *", diretores = ["local"])
& Nbsp; IPAuthenticationPolicy (".. 192.168 * *", diretores = ["confiável"])
]
authn_policy = MultiAuthenticationPolicy (políticas)
config.set_authentication_policy (authn_policy)
Este exemplo usa o módulo pyramid_ipauth atribuir diretores eficazes com base em endereço IP de origem do pedido. Ele combina duas dessas políticas para que as solicitações provenientes de "127,0. *. *" Terão principal "local" enquanto os pedidos provenientes de "192.168. *. *" Terão principal "confiável".
Em geral, os resultados dos critérios de autenticação empilhados são combinadas como se segue:
- Authenticated_userid: UserID retorno da primeira política de sucesso
- Unauthenticated_userid: UserID retorno da primeira política de sucesso
- Effective_principals: união retorno de diretores de todas as políticas
- Lembre-se: retornar cabeçalhos de todas as políticas
- Esqueça: retornar cabeçalhos de todas as políticas
Configurações de Implantação
Também é possível especificar as políticas de autenticação como parte de suas configurações de implantação colar. Considere o seguinte exemplo:
[App: pyramidapp]
use = ovo: mypyramidapp
multiauth.policies = ipauth1 ipauth2 pyramid_browserid
multiauth.policy.ipauth1.use = pyramid_ipauth.IPAuthentictionPolicy
multiauth.policy.ipauth1.ipaddrs = 127,0. *. *
multiauth.policy.ipauth1.principals = local
multiauth.policy.ipauth2.use = pyramid_ipauth.IPAuthentictionPolicy
multiauth.policy.ipauth2.ipaddrs = 192.168. *. *
multiauth.policy.ipauth2.principals = confiável
Para configurar a autenticação a partir dessas definições, basta incluir o módulo multiauth em seu configurador:
config.include ("pyramid_multiauth")
Neste exemplo, você teria uma MultiAuthenticationPolicy com três políticas de autenticação empilhados. Os dois primeiros, ipauth1 e ipauth2, são definidos como o nome de um exigível juntamente com um conjunto de argumentos. O terceiro é definido como o nome de um módulo, pyramid_browserid, que será procecesed através do mecanismo config.include padrão ().
O resultado final seria um sistema que autentica os usuários via BrowserID, e atribui identificadores principais adicionais com base no endereço IP de origem do pedido
O que é novo nesta versão:.
- Corrigir alguns bustage merge; este deve conter todas as coisas que se alegou que deve constar na versão 0.3.1, mas na verdade não foram.
O que é novo na versão 0.3.0:.
- Suporte para Python3 via compatibilidade de nível de fonte
- Disparar um evento MultiAuthPolicySelected quando uma política é usado com sucesso para autenticação.
O que é novo na versão 0.1.2:.
- licença Update para MPL 2.0
O que é novo na versão 0.1.1:.
- Compatibilidade com Pyramid 1.3
Requisitos :
- Python
Comentários não encontrado