Spring Security

Olá pessoal,

Estou com uma dúvida na permissão e autorização de usuários.

Estou implementando uma aplicação em JSF 2.0, no qual vai haver 3 tipos de usuários (adm, funcionario e servidor), porém não consigo implementar para buscar os dados no banco de dados. estou seguindo as dicas do Java Café.

http://javasemcafe.blogspot.com/2011/05/java-ee-6-seguranca-com-spring-security.html

Alguém poderia me dá uma ajuda?

No aguardo… :roll:

Fala joaogbrito.

Cara no que exatamente que vc precisa de ajuda???

Caso vc quiser eu fiz o meu tcc na faculdade sobre o Spring Security, é só me passar o teu email que eu te mando ele.

Eu quero gerenciar permissões com Spring Security e Criar CRUD com o FrameWork Spring e algumas coisas mais que o meu chefe pedi.

Pode me mandar nos emails abaixo:

joao-guedes@hotmail.com
informaticajoao@gmail.com

Ola amigo

o que exatamente vc nao consegue fazer com o security porque o tutorial q voce esta seguindo explica bem como usa-lo dai e so adaptar pro seu projeto qualquer coisa posta o applicationContext ou os erros ae

Abraços

Olá Pessoal,

O que eu preciso?

R: Existirá três tipos de usuários, cada usuário terá permissões diferentes. Vai ler os usuários de dois banco de dados. E verificar pelo setor.

Exemplo:

Se usuário for do setor financeiro redirecione para pagina - funcionario/index.jsf
Se usuário for do setor de Ti redirecione para pagina - gerente/index.jsf
Se usuário for do setor desenvolvimento redirecione para pagina - adm/index.jsf

Desde já agradeço pessoal.

cara conseguiu genrenciar as autoridades de cada usuario? por exemplo editar Autorização de Usuario. pois tenho tres tabelas Usuario, Roles e Usuario_role, sendo que essa usuario_role nao he mapeada como entidade classe. ao cadastrar no usuario que que possui um OneToMany List ele adicionar automatico no usuario_role,
porem para editar nao consigo.

Consegui sim man. Qual a sua dúvida?

to querendo editar um usuario. Tenho por exemplo usuario TESTE como PERMISSOES (ROLE_ADM, ROLE_SEC), soh que quer alterar e por ex: ROLE_ADM, ROLE_USUARIO, porem nao sei como fazer pois como nao tenho a classe relacionamento de ROLE e USUARIO nao posso deletar ou altera na tabela direto. nao sei se entendeu…rsrs

Man,

Essa alteração se faz no ApplicationContext. Me mada ai seu applicationContext

[code]

<sec:http auto-config="true" access-denied-page="/acessonegado.xhtml" use-expressions="true">
	
    <sec:intercept-url pattern="/system/*" access="isAuthenticated()" />
    <sec:intercept-url pattern="/system/administrador/*" access="hasRole('ROLE_ADMINISTRADOR')" />		
	
    <sec:form-login login-page="/login.xhtml" 
                    login-processing-url="/j_spring_security_check" 
                    default-target-url="/system/inicio.xhtml" 
                    authentication-failure-url="/login.xhtml" />
				    
    <sec:logout logout-success-url="/login.xhtml" />
	
</sec:http>



<sec:authentication-manager>
    <sec:authentication-provider user-service-ref="hibernateUserDetailsService" ref="daoAuthenticationProvider" >
        <sec:password-encoder hash="md5" />
    </sec:authentication-provider>
</sec:authentication-manager>

<bean id="passwordEncoder"  class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />  

<bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
    <property name="userDetailsService" ref="hibernateUserDetailsService" />
    <property name="passwordEncoder" ref="passwordEncoder" />
</bean>

<bean id="loggerListener" class="org.springframework.security.access.event.LoggerListener" />

[/code]

man,

Você configura assim:

<sec:http auto-config=“true” access-denied-page="/acessoNegado.jsf">
<sec:form-login login-page="/login.jsf" authentication-failure-url="/login.jsf?erro=true" />
<sec:intercept-url pattern="/autenticados/" access=“ROLE_NOG,ROLE_NAP,ROLE_OPERADORA, ROLE_GESTOR,ROLE_CAT , ROLE_SERVIDOR” />
<sec:intercept-url pattern="/autenticados/telas/nap/
" access=“ROLE_NAP” />
<sec:intercept-url pattern="/autenticados/telas/servidor/" access=“ROLE_SERVIDOR” />
<sec:intercept-url pattern="/autenticados/telas/operadora/
" access=“ROLE_OPERADORA” />
<sec:intercept-url pattern="/autenticados/telas/gestor/" access=“ROLE_GESTOR” />
<sec:intercept-url pattern="/autenticados/telas/cat/
" access=“ROLE_CAT” />
<sec:intercept-url pattern="/**" access=“IS_AUTHENTICATED_ANONYMOUSLY” />

</sec:http>

Se não consegui eu configuro amanhã esse seu applicationContext. Mais man não tem erro. Pode fazer o seu que não tem erro. Abraços

mano acho q vc nao entendeu meu problema…a parte de interceptar url pelas roles…eu consigo. o que eu quero he , pode se dizer que he um CRUD de usuario. pois nao consigo alterar as permissões do usuario x ou y. Ate amanha entao.
nesse post tem minhas classes mais ou menos como estao
http://www.guj.com.br/java/289959-remover-authorities-do-usuaurio-no-springsecurity#1534070

É man, não tinha entendido mesmo. Eu só utilizo uma tabela para autorização e usuário.

vlw mano!