[gitec] SPDO versão 1.0 Final

Fabiano Weimar dos Santos xirumacanudo em gmail.com
Quarta Janeiro 25 16:28:13 BRST 2012


Oi Celso,

Em 25 de janeiro de 2012 15:28, celso magela de almeida
<celso em pocosdecaldas.mg.leg.br> escreveu:
> Fabiano,
>
> Muito obrigado pela resposta... principalmente pelo detalhamento.
>
> acessar a ZMI...   acessei, troquei senha de admin, explorei...
> troquei parâmetros ENABLE_FLASH_MULTIFILE= False, restartei o serviço,
> consegui anexar arquivos.
> chequei segurança do meu navegador, (obrigado pela dica... vamos usar muito
> isso aqui)
> agora, quanto ao:
>
>>> -quando eu logo no sistema, ele sempre abre a última tela usada,
>>> independente do usuario anterior. Tenta até mesmo abrir páginas que o
>>> usuario não tem direito de visualização, provocando aviso...
>>> É possível alterar para que abra sempre uma outra tela, por exemplo:
>>> "/@@recebimento-tramite"???
>>> O usuário teria como inicial a tela com os documentos para receber...
>>>
>>
>> Isso a gente pode fazer personalizando um script. No entanto, eu
>> queria tentar entender o pq você está incorrendo nessa situação. Da
>> forma como eu escrevi o sistema você não deveria conseguir clicar num
>> link cuja página que seria aberta você não tem permissão de
>> visualizar. A unica forma disso acontecer seria um usuário mais
>> privilegiado passar por email (ou adicionar a um bookmark) um link e
>> depois um usuário menos privilegiado tentar acessar. Nessa situação, o
>> comportamento certo é o atual: dar erro, dizendo que o usuário nao tem
>> permissão de fazer o que está tentando (subverter o sistema).
>>
>> Há uma complexa maquinaria de segurança para garantir isso. No
>> entanto, há uma parte bastante chata para implementar esse codigo nas
>> interfaces de usuário, onde deve-se inserir alguns códigos para
>> controlar o acesso aos links. Talvez eu tenha esquecido de colocar
>> isso em algum lugar.
>>
>> Tens como me passar um passo-a-passo de como reproduzir essa situação
>> (com que usuários, papeis, etc)?"
>
> Vou dar um exemplo prático:
>
> loguei com admin, acessei "Áreas", clico em sair, aparece o campo para
> usuario e senha, digito meus dados e a próxima tela a ser exibida após o meu
> login é a mesma tela que eu estava usando como admin, ou seja:
> http://192.168.0.159:8080/SPDO/acl_users/credentials_cookie_auth/require_login?came_from=http%3A//192.168.0.159%3A8080/SPDO/%40%40list-area
> até aparece "Privilégios Insuficientes" tanto no firefox quanto no crome.

Entendi!

Consegui reproduzir "o problema" aqui.

Vou pensar numa solução, apesar de ser uma condição incomum. Na
prática, isso dificilmente isso aconteceria. Para observar o erro, é
necessário a mesma pessoa utilizar um usuário manager e um operador em
sequencia (geralmente operadores e managers são pessoas diferentes,
usam maquinas diferentes, etc). Além disso, esse probleminha só
aparece quando voce faz exatamente a sequência de passos que você fez.
Se você, depois de clicar em sair, tivesse clicado no logo e ido para
a pagina inicial e só depois tivesse efetuado login, não teria dado
problema (e seria mostrada a pagina inicial do sistema).

 Perceba que o erro é sinal que a segurança está correta, pois um
usuário operador não pode acessar tabelas de parametrização.

>
> Outro com o mesmo usuário:
>
> Se eu logar no sistema, trabalhar nele, e no final do dia, na última
> operação abrir qualquer link, por exemplo, "imprimir etiquetas", depois
> sair. (portanto a última tela exibida foi "imprimir etiquetas".
> Quando eu logar novamente no outro dia, irá aparecer a tela "imprimir
> etiquetas".
>
> limpei o cache do navegador para ter certeza que não era o navegador que
> estava memorizando a página.

Aqui eu acho que deve ser o navegador restaurando a sessão anterior.

Se você fecha o navegador e abre de novo isso não deveria acontecer.

Veja nas preferências do firefox (ou do crhome), aba geral, se você
esta iniciando com a pagina inicial, pagina em branco ou restaurando a
sessão anterior.

>
> É intencional que o Sistema ao logar, não vá para a página inicial? O
> Framework é que memoriza a última tela???
>

Sim, isso é intencional.

Isso ocorre pois o Plone considera que toda vez que uma exceção é
lançada, você é redirecionado para a tela de login, solicitando a
autenticação com um usuário com privilégios mais elevados. Efetuando
login corretamente, você volta para onde veio, ou seja, acaba sendo
redirecionado para a URL descrita na variável "came_from" do request.

Se você quiser forcar que toda vez que você fizer login deve-se ir
para a pagina inicial, tem que alterar o script "login_next" no
portal_skins. Ele fica no layer plone_login. Você deve customiza-lo,
copiando o script para o custom e substituindo o codigo pelo que
segue:

from Products.CMFPlone import PloneMessageFactory as _
REQUEST = context.REQUEST
util = context.plone_utils
membership_tool=context.portal_membership
if membership_tool.isAnonymousUser():
    REQUEST.RESPONSE.expireCookie('__ac', path='/')
    util.addPortalMessage(_(u'Login failed'), 'error')
    return state.set(status='failure')
pu = context.portal_url
url_portal = pu.getPortalObject().absolute_url()
return REQUEST.RESPONSE.redirect(url_portal)

Testei aqui e funcionou :)

> O que eu pensei é que EU PODERIA fazer isso se pudesse ser alterado como eu
> alterei o logo.png
>

Você pode fazer o que bem entender pois o SPDO é um software livre.
Trocar o logo (assim como no portal modelo) é só a pontinha do
iceberg. Você pode fazer o que bem entender no SPDO, alterando o
código fonte do jeito que você quiser.

Agora... saber o que alterar é outros 500...

> O problema nosso aqui é que o nosso sistema atual mostra de imediato todas
> os protocolos pendentes tão logo você entre no sistema. Achei que poderia
> personalizar isso aqui....
>

 Você pode, como expliquei acima.

Agora... tenta entender o que esse seu navegador ta fazendo. Me parece
que você tem alguma coisa estranha ai. Tanto o firefox quanto o chrome
tem recurso de salvar a sessão e restaura-las. Acredito que parte da
confusão que você esteja enfrentando é resultado desse recurso.

> Celso Magela de Almeida
> Assessor TI
> Câmara Municipal de Poços de Caldas - MG
> www.pocosdecaldas.mg.leg.br
> 35 - 3729-3840 - 8805-7054
>
>

<snip>

-- 
Fabiano Weimar dos Santos [Xiru]
http://www.pytown.com
Blog: http://blog.xiru.org
Twitter: xiru
Skype: xirumacanudo
MSN: xirumacanudo


Mais detalhes sobre a lista de discussão GITEC