草庐IT

SECURITY_PRINCIPAL

全部标签

java - 如何让 Spring-Security 以 JSON 格式返回 401 响应?

我有一个应用程序的ReSTAPI,其中包含/api/下的所有Controller,这些都返回带有@ControllerAdvice的JSON响应,该响应处理所有要映射到的异常JSON格式的结果。从spring4.0开始,这很好用@ControllerAdvice现在支持注释匹配。我无法解决的是如何为401-Unauthenticated和400-BadRequest响应返回JSON结果。相反,Spring只是将响应返回给将其呈现为HTML的容器(tomcat)。如何使用我的@ControllerAdvice使用的相同技术截取它并呈现JSON结果。security.xmlXBasicAu

java - 如何从 base64 编码的字符串构造 java.security.PublicKey 对象?

我有一个来自外部源(Android商店)的bse64编码字符串公钥,我需要使用它来验证签名内容。如何将字符串转换为java.security.PublicKey接口(interface)的实例。如果这有所作为,我正在使用Java6。key(可能)是使用标准java库生成的,而不是充气城堡(它来自远程团队,所以我不确定)。他们的示例代码说要使用Security.generatePublicKey(base64EncodedPublicKey);但是标准java中的Security对象没有这样的方法。 最佳答案 上述答案的代码publi

java - 如何使用 Java 配置表示 Spring Security "custom-filter"?

SpringSecurity的等效Java配置是什么标记?我试过了http.addFilter(newMyUsernamePasswordAuthenticationFilter())类扩展了默认过滤器,但它总是使用formLogin默认。我的过滤器:importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.security.authentication.AuthenticationServiceException;

java - 将 PEM 格式的字符串转换为 java.security.cert.X509Certificate

如何从PEM格式的字符串创建java.security.cert.X509Certificate实例?PEM格式的字符串是HTTP请求“SSL_CLIENT_CERT”header值。回答:根据mgaert的回答,这是我在Scala中写的内容:valcert=factory.generateCertificate(newByteArrayInputStream(Base64.decodeBase64(cert.stripPrefix("-----BEGINCERTIFICATE-----").stripSuffix("-----ENDCERTIFICATE-----"))).asIns

Spring Security 6 配置方法,废弃 WebSecurityConfigurerAdapter

一、背景 最近阿里云的项目迁回本地运行,数据库从阿里云的RDS(即Mysql5.6)换成了本地8.0,Redis也从古董级别的2.x换成了现在6,忍不住,手痒,把jdk升级到了17,用zgc垃圾回收器,源代码重新编译重新发布,结果碰到了古董的SpringBoot不支持jdk17,所以有了这篇日志。记录一下SpringBoot2+SpringSecurity+JWT升级成SpringBoot3+SpringSecurity+JWT,就像文章标题所说的,SpringSecurity已经废弃了继承WebSecurityConfigurerAdapter的配置方式,那就的从头来咯。在SpringSec

java - Spring Security 3.1.3 请求查询字符串被剥离

我正在使用SpringSecurity3.1.3保护我的应用程序,并且我需要允许用户通过第三方应用程序中的链接登录。但是,第三方应用程序中的链接将重定向到特定资源,而不是用户希望的登录页面访问将被定义为查询字符串参数。因此,例如,链接将采用以下形式://server.com/app/build/panel.jsp?resourceid='blah'当用户单击此链接时,他们应该被带到我的SpringSecurity配置中定义的登录页面,如果经过身份验证,则应该重定向到包含查询字符串参数的原始链接。querystring参数对用户的身份验证方式没有影响只是资源的id。现在,除了查询字符串之

java.security.cert.CertificateException : Certificates does not conform to algorithm constraints

我有一个map应用程序,可以在给定URL的情况下添加ArcGIS9.3+基本map。我要添加的URL之一来自客户的URL,并且是安全的。我的map应用程序之前使用的是Java6,并且能够毫无问题地添加安全URL。我现在升级到Java7并获得了"java.security.cert.CertificateException:Certificatesdoesnotconformtoalgorithmconstraints"异常。起初,我认为是这种情况,因为在Java7中,默认情况下,用于签署SSL证书的MD2算法是禁用的。您可以在java.security文件中看到这一点:"jdk.cer

java - 无法验证提供的 CSRF token ,因为在 Spring Security 中找不到您的 session

我正在使用SpringSecurity和java配置@Overrideprotectedvoidconfigure(HttpSecurityhttp)throwsException{http.authorizeRequests().antMatchers("/api/*").hasRole("ADMIN").and().addFilterAfter(newCsrfTokenResponseHeaderBindingFilter(),CsrfFilter.class).exceptionHandling().authenticationEntryPoint(restAuthenticat

java - 使用 Spring Security 3.0 设置 session 超时时间

我正在使用SpringSecurity3.0对LDAP服务器进行身份验证,但我无法设置自己的session超时期限。我相信默认值为30分钟,但我需要将其设置为更长的时间 最佳答案 您可以在web.xml中为所有session设置session超时(比如60分钟):60或在每个session的基础上使用session.setMaxInactiveInterval(60*60);您可能希望在authorizationSuccessHandler中执行后者。 关于java-使用SpringSe

java - 如何忽略 PKIX 路径构建失败 : sun. security.provider.certpath.SunCertPathBuilderException?

尝试向http服务器发布请求时出现以下异常:这是我使用的代码URLurl=newURL("https://www.abc.com");HttpURLConnectionconn=(HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");conn.setDoOutput(true);DataOutputStreamwr=newDataOutputStream(conn.getOutputStream());//wr.writeBytes(params);wr.flush();wr.close();Buffer