1
供應商/ symfony中/ symfony中/ src目錄/ Symfony的/包/ SecurityBundle /資源/配置/ security.xml文件
<service id="security.access.role_hierarchy_voter" class="%security.access.role_hierarchy_voter.class%" public="false">
<argument type="service" id="security.role_hierarchy" />
<tag name="security.voter" priority="245" />
</service>
定義。服務類,
的Symfony \分量\安全\核心\授權\選民\ RoleHierarchyVoter
有第二個參數$ PREFIX = 'ROLE_' 爲默認值。
在上述服務認定中,第二個參數沒有通過,因此採取默認值ROLE_
在我的申請,我有傳統角色,e.g登錄。沒有ROLE_前綴。
我想覆蓋上面的服務定義,並通過第二個參數爲空。
<service id="security.access.role_hierarchy_voter" class="%security.access.role_hierarchy_voter.class%" public="false">
<argument type="service" id="security.role_hierarchy" />
<argument></argument>
<tag name="security.voter" priority="245" />
</service>
我該怎麼做?
謝謝,它的工作,但還有一個問題,因爲我不想要前綴,我傳遞空字符串,並在供應商/ symfony/symfony/src/Symfony /組件/安全/核心/授權/選民/ RoleVoter。 php,supportsAttribute()0 === strpos($ attribute,$ this-> prefix);給出警告作爲$ this->前綴是空的 – vishal
我認爲,它更好地重寫RoleVoter並從supportAttribute始終返回true? – vishal
@ user1191081是的,只是試試:) – xdazz