我正在将带有 web.xml、安全约束、安全角色和登录配置的标准 Web 应用程序移植到 Spring Security 3.0。除了 security-role-ref 元素之外,我在 web.xml 中找到了几乎所有功能的等效映射。
我不想规定安全角色名称用于部署环境,因此我利用 J2EE 安全性的映射功能将逻辑角色名称映射到物理角色名称,如下所示:
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.example.MyServlet</servlet-class>
<security-role-ref>
<role-name>MANAGER</role-name>
<role-link>DISTRICT_MANAGER</role-link>
</security-role-ref>
</servlet>
请注意,在上面的代码片段中,代码或 JSP 中有一项或多项检查,以查看用户是否处于逻辑角色“MANAGER”中。在此特定部署中,该角色链接到从 JAAS 上下文(JDBC 或 LDAP)返回的物理角色“DISTRICT_MANAGER”。
Spring Security 3.0 中是否有类似的映射工具?我希望避免修改应用程序以检查部署环境的物理角色,并且我无法让系统管理员仅为我的应用程序向用户的 LDAP 记录添加特定角色/权限。
提前致谢。