小编Pat*_*ick的帖子

如何在Groovy脚本中设置退出状态

我们有一个Groovy脚本与一个退出status0时候一切工作和non-0 status针对不同类型的故障条件.例如,如果脚本了用户和一个电子邮件地址作为参数,它将与一个退出status1为无效的用户,和status2为无效的电子邮件地址格式.我们用System.exit(statusCode)它.这工作正常,但使脚本难以编写测试用例.

在测试中,我们创建我们的GroovyShell,创建我们的Binding和调用shell.run(script,args).对于断言失败条件的测试,System.exit()导致JVM(和测试)退出.

是否有使用System.exit()退出Groovy脚本的替代方法?我尝试抛出未捕获的异常,但是使输出变得混乱,并且始终使状态代码为1.

在我们的测试用例中,我还尝试使用System.metaClass.static.invokeMethod更改System.exit()不退出JVM 的行为,但这似乎是一个丑陋的黑客.

groovy unit-testing exit-code

17
推荐指数
2
解决办法
2万
查看次数

需要近期拥有 Google Signin 的 MFA

我需要确保使用Google Signin登录的用户最近已通过多因素身份验证进行了身份验证。查看OpenID 连接请求参数,可以看到一些内容,例如 Promise for this:acr_valuesmax_age

测试期间max_age似乎没用。我仍然只是使用现有的 cookie 进行身份验证,而不是由 Google主动进行身份验证。使用此请求参数确实会包含id token此 json

"amr": [
    "rba"
  ],
Run Code Online (Sandbox Code Playgroud)

根据此rfc,这意味着身份验证方法参考基于风险的身份验证。事实证明这总是会返回rba。如果注销然后重新登录,它会返回rba,而不像pwd mfa我预期的那样。

我没有看到为 定义任何值acr_values

所以...

是否有可能:

  • 强制用户使用 Google Sign 重新进行身份验证(例如,没有基于 cookie 的身份验证)?
  • 确定用户是否使用密码或多重因素进行身份验证?
  • 确定用户何时进行身份验证?(目前 auth_time似乎已设置为当我启动登录流程时 Google 看到我的会话 cookie 的时间)
  • 请求用户通过 MFA 进行身份验证?

openid-connect google-signin

5
推荐指数
0
解决办法
648
查看次数

Java,Spring,无法找到/WEB-INF/spring.properties我需要在propertyConfigurer之外的地方设置它吗?

我收到一条错误消息Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [WEB-INF/spring.properties] cannot be opened because it does not exist.spring.properties文件确实存在,并且位于我的/ WEB-INF目录中(我已经确认它在构建项目后位于我的构建目录中).我把它设置在我的项目的.classpath目录中,如下所示:

<classpathentry kind="src" path="src/main/webapp/WEB-INF/spring.properties"/>
Run Code Online (Sandbox Code Playgroud)

在我的Spring应用程序上下文中,我输入如下:

<bean id="propertyConfigurer" 
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="/WEB-INF/spring.properties" />
</bean> 
Run Code Online (Sandbox Code Playgroud)

如果这是一个基本问题我很抱歉,但我真的很困惑,问题是什么以及如何解决它,我已经做了很多搜索,似乎无法弄明白.谢谢你的建议

java spring properties classpath

2
推荐指数
1
解决办法
2万
查看次数