Olá pessoal tudo bem ?
Estou com outra duvida a respeito do SS. Posso personalizar os papeis definidos pelo Spring, ou seja, ao invés daquele prefixo ROLE_ colocar algo como admin, usuario etc.
Se sim alguém pode me ajudar a fazer isso.
Abraços.
Olá pessoal tudo bem ?
Estou com outra duvida a respeito do SS. Posso personalizar os papeis definidos pelo Spring, ou seja, ao invés daquele prefixo ROLE_ colocar algo como admin, usuario etc.
Se sim alguém pode me ajudar a fazer isso.
Abraços.
É possível sim, mas tem que ter esse prefixo role. Por exemplo: ROLE_CLIENTE, ROLE_VENDEDOR, ROLE_GERENTE e por ai vai.
Pelo menos no sistema que eu estou usando aqui na empresa, apenas isso já é o suficiente para o Spring Security entender.
Bom, acabei de conferir aqui pra ver se eu não estou falando nenhuma besteira.
Na tabela perfil do banco de dados, os nomes de acesso estão escritos com o prefixo role mesmo. Como citado acima.
Apenas isso que eu vi de diferente.
Pode sim, nunca testei, uso o pré-fixo, mas pelo que já li você pode inventar seu pré-fixo, não usar, é como você quer configurar. Abraços.
Assim, qual é a sua duvida ?
Olá fkazeredo,
Você está correto, entretanto era isso que queria tirar, este prefixo, eu vi em alguns sites (em ingles) um pessoal mudando isso mas eles não explicaram direito, creio que tenha como tirar esse role mas ainda não descobri se alguem souber.
Agradecido
Bom, sem o prefixo eu realmente nunca tentei.
Vou dar uma pesquisada sobre isso.
Eu testei antes de fazer o post e se eu simplesmente tirar o ROLE o projeto não executa, ou seja, deve haver alguma configuração a mais para este ROLE poder ser retirado.
Eu quero tirar esse role para que na tela de cadastro de usuarios fique mais amigável, ou seja, quando for colocar a autorização do novo usuário ao inves de colocar ROLE_algumacoisa eu coloque só o papel em si, administrador, usuario, etc.
Abraços.
Você pode fazer isso, no seu select é que você retorna com o nome ROLE_algumacoisa, só concatenar.
Exemplo:
SELECT login, 'ROLE_'||perfil FROM usuarios
Obs: Select feito em firebird.
Realmente, testei sem ROLE não funciona rs.
[quote=Valeio Bezerra]Exemplo:
SELECT login, 'ROLE_'||perfil From usuarios
Obs: Select feito em firebird.[/quote]
Valeu pela dica, vou tentar.
Abraços
Posta o resultado depois.
Faz assim:
authorities-by-username-query="SELECT username, concat('ROLE_',authority) FROM users where username = ? "
Guris blz ?
Infelizmente não deu certo ainda
Mas obrigado pelas dicas.