问题标签 [spring-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
563 浏览

java - Spring 4 - 使用 preAuthorize 和 PostAuthorize 进行身份验证

注意:我的应用程序使用最新版本的 Spring 框架 4.0.6、3.2.4 来保证安全性,并且它不使用 xml 而只使用 Java-Config 来配置应用程序。

我有一组服务,我想通过角色和其他业务特定授权条件来保护它们。这些服务被分组到一个模块(一个 jar)中,供 REST 应用程序和 Web 应用程序使用。我已经有一个AuthenticationProviderweb 应用程序(REST 应用程序处于初始阶段)。我@EnableGlobalMethodSecurity在网络应用程序中使用。话虽如此,我现在也需要保护服务中的方法。在这种情况下,我是否需要提供另一个身份验证提供程序?或者,将身份验证提供程序移动到服务模块以便 web/rest 应用程序使用服务 jar 中的身份验证提供程序是否正确?如果我@EnableGlobalMethodSecurity在服务模块的 ApplicationServiceConfig.java 中进行配置,我会得到打击异常。

如果应用程序需要双重身份验证,一个来自 RDBMS,另一个来自 LDAP,我该如何配置安全性。条件应该是用户信息应该在两个系统中都存在并启用。我是否需要在现有的身份验证管理器本身中编写此内容,还是应该为 LDAP 提供单独的身份验证提供程序?如果有怎么办?

WebSecurityConfig.java

不过,我看到AuthenticationManagerBuilder.authenticationProvider将提供的身份验证提供程序添加到列表中!

0 投票
1 回答
1571 浏览

mockito - Junit4 Mockito UnfinishedVerificationException TransactionManager

当我开始在基于 Spring FW4 的 Java 应用程序中对一些控制器方法进行单元测试时,我遇到了一个复杂的问题。

我的 ApplicationConfig.java 用 @Configuration 和 @EnableTransactionManagement(proxyTargetClass = true) 和一个公共控制器方法进行了注释,我创建该方法是为了保存一个简单实体类的新对象,它是带有以下 ControllerTestClass 的 testet

debug.log 的以下部分是我无法弄清楚问题的原因,但是当我删除 @EnableTransactionManager-Annotation 时,没有发生错误......

我真的很感激一些帮助,因为我的古怪和研究已经进行了几天:(

谢谢

0 投票
1 回答
277 浏览

java - Spring.io 和 Tiles 3 - 在 Tomcat 服务器中部署 .war 文件时出现错误 404

当我将生成的 .war 文件部署到独立的 Tomcat 服务器时出现错误 404,但如果我在 IDE(IntelliJ)中使用 Tomcat 服务器部署战争,它工作正常。


这是初始化器

这是应用程序配置

0 投票
1 回答
1646 浏览

java - Spring 4 - MVC - URL 参数和静态资源路径

我有一个 spring mvc 应用程序,在一个页面中,我在一个表中列出了从数据库中获取的“组”详细信息。每个组的 url 设置为“/viewgroup/410”,其中 410 是组 ID,将从数据库中加载并显示在 viewgroup.jsp 页面中。

所以,控制器方法有

像这样。jsp页面无法加载我在目录结构中的静态资源

jsp 页面的 image/js/css 路径如下。

我尝试添加

这在jsp中

仍然jsp页面加载无法加载静态资源。url中传递params时,jsp页面中静态资源的资源路径如何提供?

0 投票
2 回答
6229 浏览

java - Spring security 3.2 - @PostAuthorize 表达式来根据方法的返回对象评估主体

我使用 Spring Security 来保护和评估 @PostAuthorize 和 @PreAuthorize 注释中的表达式以授权服务方法。我有一个需求,需要检查返回的对象是否具有登录系统并调用此方法的相同用户 ID。

音频剪辑.java

从数据库中获取的对象包含创建此 db 对象的 userId。因此,只有他有资格访问该组件。怎么比较returnObject.userId和已经登录系统的userid?

0 投票
0 回答
607 浏览

java - Spring Security 匿名身份验证未初始化

我正在使用 Spring4 和 Spring Security 3.2.4。我的安全配置中有一些 http 配置,以便同时托管基于表单的身份验证和REST services(使用身份验证)。

对于需要应用程序身份验证的页面和 REST 服务,在我当前的配置下一切正常,但对于不需要身份验证的页面,例如登录和注册,匿名身份验证不会以某种方式初始化。用 Java 说话: SecurityContextHolder.getContext().getAuthentication() returns null.

我希望匿名身份验证被初始化为文档(http://docs.spring.io/spring-security/site/docs/3.2.4.RELEASE/reference/htmlsingle/#introduction)是指:匿名身份验证支持自动提供当使用 HTTP 配置 Spring Security 3.0 时,可以使用该元素进行自定义(或禁用)。除非您使用传统的 bean 配置,否则您不需要配置此处描述的 bean。

有谁知道为什么尽管文档提到了它却没有发生?(除此之外,3.2.4 的文档指的是 3.0 版本,一些给定的配置建议指的是不推荐的实现)

0 投票
1 回答
3801 浏览

spring-mvc - Spring Model - “模型对象不能为空”

我的一个 Spring 控制器类中的一个方法,

在收到错误消息“模型对象不得为空”后,我更改了方法签名,如下所示: public ModelAndView setup(@PathVariable("productId") Integer pid) {

我能够运行一次修改后的代码。但是我在 ModelAndView 上遇到了同样的错误。我使用 Spring MVC 已经很多年了。那是我第一次遇到这个问题。原因是什么?

我使用 Spring 4.0.6.RELEASE。

0 投票
2 回答
1513 浏览

spring - Spring webSocket - 使用 IE8 基于用户权限拒绝主题订阅 - 从未调用过确定用户()

我想根据用户权限拒绝订阅。我找到了以下解决方案,它对支持 websocket 的浏览器有帮助:

https://github.com/rstoyanchev/spring-websocket-portfolio/issues/23

解决方案是扩展 DefaultHandshakeHandler 并覆盖确定用户方法。问题是 - 从 IE8 连接时永远不会调用此方法。将不胜感激任何帮助。谢谢,

0 投票
2 回答
1434 浏览

spring-3 - 通过 Spring Framework 对 Hibernate Validator 自定义错误消息进行编码的配置

我正在使用 Spring (4.0.5) 和 Hibernate Validator (5.1.2.Final)

我已经通过 .properties 文件处理了错误消息,它也适用于 i18n

  • 目前,它处于独立测试(JUnit)环境中。我不想包含 Web 环境以保持简单。

我有以下内容:

对于ValidationMessages_es_PE.properties文件(西班牙语)

关于基础设施

观察我有setDefaultEncoding("UTF-8")

测试类

部分输出如下

字符ñá没有显示出预期的效果

我的 IDE 已经有了

Preferences -> Workspace -> Text file encoding使用UTF-8

我需要什么额外的缺失配置?

0 投票
1 回答
41 浏览

prototype - 如何使用基于 Spring 4 Java 的上下文声明和连接原型范围的 bean?

我是 Spring 4 新手。那么,如果我有一个 Singleton,我如何将各种范围的 bean 连接到其中?

我没有见过这样的例子。是不是因为它被抽象掉了,所以你所要做的就是应用@Scope("prototype")?这可以解释信息的缺失,但很难搜索不存在的信息。;-)