在《spring Namespace和核心组件简介》中我们发现url可以访问的角色是直接在applicationContext-security中配置的,而这使其适应性差了许多。
<http>
<intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https"/>
<intercept-url pattern="/**" access="ROLE_USER" requires-channel="any"/>
...
</http>
为了解决这个问题我们可以借助数据库来存储用户、资源、角色及其之间关系信息。而相关url保护级别的配置也可以修改下。当然还需要实现上文所受的一些核心组件。
上图即为这种关系的简单示意,后面我们针对这种简单关系加以讲解和实现。