小编vic*_*tor的帖子

将svn补丁应用于git存储库

好吧,我已经尝试了所有可以在stackoverflow上找到的答案,但显然似乎没有人能够解决我的问题.我想将SVN制作的补丁应用到git存储库.显然,最简单的方法是使用'git apply',但这似乎不起作用.

$ git apply --ignore-space-change --ignore-whitespace < xxx_parser.patch


<stdin>:10: trailing whitespace.
        FORCE_LA_CHECK = false; stdin:23: trailing whitespace.

<stdin>:79: trailing whitespace
. 
. 
. 
. 
error: pmd/grammar/JspParser.jjt: No such file or directory 
error: patch failed: pmd/pom.xml:251 
error: pmd/pom.xml: patch does not apply
Run Code Online (Sandbox Code Playgroud)

这是xxx_parser.patch的内容:

 $ head xxx_parser.patch Index: etc/grammar/JspParser.jjt
 --- etc/grammar/JspParser.jjt   (revision 7704)
 +++ etc/grammar/JspParser.jjt   (working copy)
Run Code Online (Sandbox Code Playgroud)

现在为什么它抱怨它找不到文件pmd/grammar/JspParser.jjt?

补丁中的路径指向正确的目录.

svn git patch

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

Java EE的RESTful身份验证

我花了一些时间来评估可用于在Java EE应用程序中重新验证用户身份的选项.

因此,请建议以下列出的选项是否有效以及有关优缺点的陈述.可能是我遗漏了可能使身份验证方法可行的细节.或者可能是我错过了另一个选项(我们再次严格地讨论java EE,因此没有查询身份验证,除非可以以符合EE的方式完成,否则不会这样做)

1. DIGEST/BASIC认证

 <security-constraint>
     <web-resource-collection>
        <web-resource-name>admin</web-resource-name>
        <url-pattern>/protected/*</url-pattern>
     </web-resource-collection>
     <auth-constraint>
        <role-name>admin</role-name>
     </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>DIGEST/BASIC</auth-method>
    <realm-name>as-defined-secuity-realm</realm-name>
</login-config>
Run Code Online (Sandbox Code Playgroud)

好处

  1. 这是一种REST友好的身份验证方式.您可以通过AJAX调用发送授权凭据.一旦用户通过身份验证,浏览器将伴随任何具有正确Authorization: Basic/Digest QWxhZGRpbjpvcGVuIHNlc2FtZQ==标头的请求.如果凭据不良,将向用户显示丑陋的浏览器登录屏幕 - 如果您可以使用它,那么BASIC/DIGEST auth就是您的选择.

  2. 在Digest的情况下,传递给服务器的字符串是MD5加密的字符串,它比Basic更安全(它是'user:password'字符串的Base64编码),但仍然可以解密.因此,在安全性方面,BASIC与FORM身份验证一样安全,而DIGEST是最安全的.总之,如果您的站点完全是HTTPS(我的意思是完全是因为如果某些资源是通过HTTP获取的,例如您的授权标题将对第三方可见)您可以安全地使用BASIC/DIGEST.

  3. 易于设置.

缺点

  1. 注销是很棘手的.看到这里这里.确保你有一个很好的AJAX请求来验证用户,但你还需要一个?AJAX?注销用户的请求 - 触发浏览器登录窗口再次出现).BTW好的servlet 3.0 request.logout()方法在这种情况下无法正常工作.
  2. 会话超时很难实现.会话到期确实发生(它是servlet容器的工作),但浏览器将在下一个请求上发送授权头,从而触发重新身份验证.
  3. 没有个性化登录页面.没有.
  4. 很难跟踪经过身份验证的会话.

2.基于FORM的身份验证

 <security-constraint>
     <web-resource-collection>
        <web-resource-name>admin</web-resource-name>
        <url-pattern>/protected/*</url-pattern>
     </web-resource-collection>
     <auth-constraint>
        <role-name>admin</role-name>
     </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>as-defined-security-realm</realm-name>
    <form-login-config>
        <form-login-page>/auth/login.html</form-login-page>
        <form-error-page>/auth/error.html</form-error-page>
    </form-login-config>
</login-config>
Run Code Online (Sandbox Code Playgroud)

简而言之,如果用户访问protected/*URL,则登录页面将包含在响应中.因此,用户期望他将获得在form-login-page标签中配置的登录页面而不是内容.如果密码正常,他将被转发(302 Paged Moved …

authentication ajax rest servlets java-ee

19
推荐指数
1
解决办法
4685
查看次数

Capistrano部署在服务器上没有Internet访问

如何将带有Capistrano的Rails应用程序部署到无法访问外部网络或存储库的生产或登台服务器?

我已经成功完成部署并意识到Capistrano不会在我的本地计算机上下载git repo ,但它首先连接到远程服务器并尝试在那里下载Git repo.

我原本期望一个类似Java-ee的构建系统,在该系统中创建可交付成果并将可交付成果发送到服务器.就像您构建.ear文件并将其部署在您想要的任何服务器上一样.显然在RoR中,你被迫(据我所见)在该服务器上构建应用程序,在那里创建一个gem存储库,在那里克隆最新的分支,依此类推.

有没有办法将可立即运行的包发送到远程服务器?

ruby git ruby-on-rails capistrano3

6
推荐指数
1
解决办法
531
查看次数

spring在集成测试中启动并行事务

我一直在寻找解决方案,但似乎找不到一个好的解决方案.我有一个复杂的场景,我想评估hibernate 乐观锁定与悲观锁定的行为

这样做的最佳位置是在一组良好的集成测试中,但我似乎无法找到一种简单的方法来启动并行事务.

  • 如何在Spring集成测试中创建2个并行事务,而无需手动创建Threads并注入SessionFactory对象.

请注意,我还没有找到一种方法来创建2个并行事务而不会产生至少2个线程(也许有一种方法,我希望你能告诉我一个例子).

spring integration-testing hibernate spring-transactions

6
推荐指数
1
解决办法
492
查看次数