Spring security JSP 标签 - 我需要哪些 jar?

标签 spring security jsp taglib

我有一个项目,曾经使用 Spring-MVC 在 Spring 3.0 上成功运行。我将其移至 Spring 3.1,同时将 jar 管理更改为 Maven,而不是手动下载/复制到 Ant 的项目/lib。

在加载日志中的第一个(登录)公共(public)页面时,我看到: 信息:至少扫描了一个 JAR 的 TLD,但不包含 TLD

这让我觉得我的 taglib URL 没有与适当的 taglib jar 匹配。所以要么是 URL 不正确,要么是我没有合适的 jar。

在我的 JSP 顶部:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

我认为安全标签有问题,因为在以下页面(登录后)我收到一个新错误: javax.servlet.ServletException: javax.servlet.jsp.JspException: java.io.IOException: 在应用程序上下文中找不到可见的 WebSecurityExpressionHandler 实例。必须至少有一个才能支持 JSP“授权”标记中的表达式。

这对我来说是新的 - 当我使用 Spring 3.0 库运行应用程序时,我不必定义“WebSecurityExpressionHandler”, 所以要么我缺少一个提供相关的 jar在 Spring 3.0 -> 3.1 中,我应该如何配置应用程序的安全性,一些东西发生了变化。

编辑: 我发现它看起来应该在我的配置中发挥该作用:

`<bean id="expressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler" />`

还有 <http auto-config="true" use-expressions="true" .... >在我的 security-context.xml 中

最佳答案

您至少应该拥有以下内容:

  • spring-security-config
  • spring-security-web
  • spring-security-taglibs

此外,您还可以添加 spring-security-core 但 Maven 应该将其解析为传递依赖项。

关于Spring security JSP 标签 - 我需要哪些 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538944/

相关文章:

java - Spring Controller 400错误请求和application/x-www-form-urlencov/s application/json

java - 如何在java中更新浏览器缓存

typescript - NestJS 将 HTTP 重定向到 HTTPS/强制 SSL

css - 如何在 Struts 2 中更改文本字段的标签颜色

java servlet资源调度程序在正确的位置包含html

multithreading - Spring AbstractRoutingDataSource背景线程

java - 为什么我在 spring 工具套件中收到这些错误。我认为这是因为我缺少一些库,但我不确定

ios - 使用 Objective C 进行 DES 加密

PHP限制访问,只能提交后下载

java - 如何在 JSP 中公开 bean?