example - spring security xml
Spring Security eliminar el prefijo RoleVoter (1)
Spring security RoleVoter
necesita un prefijo para distinguir las autoridades otorgadas que son roles, consulte esta respuesta para obtener más detalles.
Si desea cambiar esto, siempre puede proporcionar su propio AccessDecisionManager and configure it with a custom
personalizado AccessDecisionManager and configure it with a custom
RoleVoter` AccessDecisionManager and configure it with a custom
.
Este es un ejemplo de dicho administrador de decisiones de acceso personalizado:
public class MyAccessDecisionManager extends AffirmativeBased {
public MyAccessDecisionManager() {
super();
List<AccessDecisionVoter> decisionVoters = new ArrayList<AccessDecisionVoter>();
RoleVoter roleVoter = new MyCustomRoleVoter();
decisionVoters.add(roleVoter);
AuthenticatedVoter authenticatedVoter = new AuthenticatedVoter();
decisionVoters.add(authenticatedVoter);
setDecisionVoters(decisionVoters);
}
Y para usarlo en lugar del administrador de decisión de acceso predeterminado:
<bean id="myAccessDecisionManager" class="full.package.name.MyAccessDecisionManager" />
<security:http access-decision-manager-ref="myAccessDecisionManager">
...
</security:http>
En el proyecto en el que trabajo, nos autenticamos en función de los id. De función en lugar de la descripción de función, y esta asignación se almacena en la base de datos.
Mi pregunta es, ¿cómo elimino el prefijo RoleVoter de Spring Security para implementar el diseño como el anterior?