я могу увидеть ниже конфигурации в одном из проектаПонимание концепции RoleVoter?
<bean id="myFilterSecurityInterceptor"
class="org.springframework.security.web.access.intercept.FilterSecurityInterceptor">
<property name="authenticationManager" ref="authenticationManager" />
<property name="accessDecisionManager" ref="accessDecisionManager" />
<property name="securityMetadataSource">
<security:filter-security-metadata-source>
<security:intercept-url pattern="/user/**" access="PERMISSION_VIEW_USER" />
.....
</security:filter-security-metadata-source>
</property>
</bean>
<bean id="accessDecisionManager"
class="org.springframework.security.access.vote.AffirmativeBased" >
<property name="decisionVoters">
<list>
<bean class="org.springframework.security.access.vote.RoleVoter" />
<bean class="org.springframework.security.access.vote.RoleVoter">
<property name="rolePrefix" value="PERMISSION_"/>
</bean>
</list>
</property>
Вопрос 1: -
Я не могу понять, какую роль два боба элемента с class "RoleVoter"
играет здесь? Я имею в виду, что не достаточно одного избирателя для голосования?
Вопрос 2: -
Также под один боб
, как это свойство на me="rolePrefix" value="PERMISSION_"
помогает?
Мое понимание о втором вопросе, когда пользователь пытается получить доступ к URL/пользователь /, RoleVoter будет соответствовать предоставленным полномочиям в отношении стоимости данной против атрибута доступа (в данном случае PERMISSION_VIEW_USER), а также она должна начинаться с «РАЗРЕШЕНИЯМИ _» (заданное как значение rolePrefix). Это правильно?
Я понял свое понимание вопроса 2 с помощью [этой ссылки] [1]. Не беспокойтесь об этом.
Спасибо, Люк. Но все власти начинаются с «PERMISSION_». Если это так, RoleVoter с префиксом по умолчанию не имеет никакого смысла. Правильно ? – emilly
Да, это так. Вы должны удалить его и проверить, работает ли приложение одинаково (оно должно). Кроме того, вы должны увидеть «воздержавшиеся» от этого избирателя в журнале отладки, пока он присутствует. –