小编jav*_*ett的帖子

为Servlet过滤器提供多种URL模式

我在我的JSF应用程序中使用Servlet过滤器.我的应用程序中有三组Web页面,我想在Servlet过滤器中检查这些页面的身份验证:

我的文件夹

/Admin/ *.xhtml

/Supervisor/*.xhtml
/Employee/*.xhtml
Run Code Online (Sandbox Code Playgroud)

我写得web.xml

<filter>
    <filter-name>LoginFilter</filter-name>
    <filter-class>com.ems.admin.servlet.LoginFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/Employee/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/Admin/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/Supervisor/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

但要求如此

http://localhost:8080/EMS2/faces/Html/Admin/Upload.xhtml
Run Code Online (Sandbox Code Playgroud)

没有进入过滤器.

我必须为这3个文件夹提供安全性.

如何解决这个问题呢 ?

servlets url-pattern servlet-filters

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

JVM属性-Dfile.encoding = UTF8还是UTF-8?

我想知道将我的文件编码设置为UTF-8的Java虚拟机(JVM)属性的价值是什么.

我放-Dfile.encoding=UTF8-Dfile.encoding=UTF-8

encoding jvm file utf-8

62
推荐指数
5
解决办法
10万
查看次数

Java HttpsURLConnection和TLS 1.2

我在一篇文章中读到了HttpsURLConnection 透明地协商SSL连接的文章.

官方文件说:

该类使用HostnameVerifier和SSLSocketFactory.为这两个类定义了默认实现.[ 1 ]

这是否意味着一旦你打开一个连接

httpsCon = (HttpsURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)

它已经加密了SSL/TLS而没有任何麻烦吗?

如何查看和设置标准实现的TLS版本?(应该是Java 8的TLS 1.2和Java 7的TLS 1.0)

参考

  1. 甲骨文公司(2011年).javax.net.ssl.HttpsURLConnection.(JavaDoc的)

java ssl httpsurlconnection

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

如何将Travis用于子目录?

我有一个repo,由子目录中的一些文件和一个Symfony项目组成.

如何仅在我的存储库子目录中的Symfony项目中使用Travis构建?

continuous-integration symfony travis-ci

15
推荐指数
1
解决办法
4875
查看次数

git push origin master:refs/heads/master这是做什么的

当我在我的gitolite存储库上创建一个新的repo时,我总是必须输入以下命令才能开始将代码推送到服务器.

git push origin master:refs/heads/master

它有什么作用 ?

我的猜测是与头部参考有关,不确定.有人可以向我解释一下吗?

git gitolite

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

在git svn clone/fetch期间避免"警告:有太多无法访问的松散对象"

当运行git svn clonegit svn fetch反对大型Subversion存储库(100k +提交)时,fetch会定期停止:

Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
error: The last gc run reported the following. Please correct the root cause and remove .git/gc.log.
Automatic cleanup will not be performed until the file is removed.

warning: There are too many unreachable loose objects; run 'git prune' to remove them.

gc --auto: command returned error: 255
Run Code Online (Sandbox Code Playgroud)

为了恢复,我必须按照说明操作,运行更积极的修剪和gc,删除日志文件并继续,只是在读取另一批10k提交后再次发生.

如何避免这个问题?

git git-svn

11
推荐指数
3
解决办法
8052
查看次数

Bintray可以使用签名子签名包/文件吗?

TL; DR:Bintray可以使用作为子密钥的签名密钥签名文件或包,还是需要主签名密钥(也是?)?

在我的私钥环中,我(最初)有一个主密钥([SC])及其标准加密子密钥([E]).为此我添加了一个签名子键([S]),我希望用它来签署软件包(上传到Bintray).后来我从密钥环中删除了主密钥以保证安全,只保留了签名和加密所需的子密钥.

我有两个ASCII装甲的私钥导出:

  • 一个是使用--export-secret-keys包含主密钥和两个子密钥生成的 ;
  • 另一个是使用--export-secret-subkeys仅包含子键生成的,包括添加的签名子键.

试图签署上传到Bintray的包裹:

  • 如果我向Bintray提供包含主密钥和子密钥完整私钥导出,则Bintray签名操作(通过API)可以正常工作.当我下载文件和.asc签名时,我可以看到Bintray使用主密钥进行签名.
  • 如果我改为提供包含键的较小私钥导出,则所有签名操作都将失败,并且405 Not Allowed.

通过在这里提供私钥,我的意思是通过API调用的private_key参数api.bintray.com/gpg,或者在我的Bintray帐户中预先设置为私钥.

我是否希望能够使用签名子键登录Bintray?当然,我可以gpg使用签名子键在我的本地shell中创建一个装甲/分离的asc签名,而不使用主密钥在我的密钥环中.但我可以在Bintray这样做吗?

gnupg bintray

8
推荐指数
0
解决办法
120
查看次数

添加CORS支持后,Tomcat应用程序无法启动

我有一个Tomcat 7项目,它在我的Eclipse集成测试服务器上工作就像一个魅力,但无法在生产服务器上启动.

它之前也曾用于生产,但我不得不添加CORS支持,这在某种程度上使它失败了.

要添加CORS支持,我将其添加到我的pom.xml中

<dependency>
  <groupId>org.apache.tomcat</groupId>
  <artifactId>tomcat-catalina</artifactId>
  <version>8.0.22</version>
  <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这到我的web.xml

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

如果我再次删除这些行,它可以在生产服务器上运行,但CORS不起作用.

ClassNotFoundException当我尝试启动应用程序时,服务器抛出一个奇怪的东西,因为该类显然存在于.war文件中.

catalina日志声称一些.jar文件无法验证,因为"jar not loaded"..jars都在.war中,所以我不明白它失败的原因.

日志输出:

卡塔利娜日志:

May 19, 2015 9:10:29 AM org.apache.catalina.util.LifecycleBase stop
INFO: The stop() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/APIMR]] after stop() had already been called. The second call will be ignored.
May 19, 2015 9:10:29 AM org.apache.catalina.startup.HostConfig deleteRedeployResources
INFO: Undeploying context [/APIMR]
May 19, 2015 9:10:36 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat/webapps/APIMR.war
May …
Run Code Online (Sandbox Code Playgroud)

tomcat maven cors

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

在同一个分支上工作,如何在不丢失变化的情况下拉动?

我和同事在同一个分支机构工作.现在我已经提交了一些文件并发送给代码审查,因此还有其他一些同事.现在他在我之前推送他的代码.我现在需要撤回他的更改,然后添加我的更改.但它已经承诺了.

如何获得他的更改,然后添加我的更改,而不会让历史看起来很糟糕,我不得不跳槽?我对git很新.

git git-pull git-commit

7
推荐指数
1
解决办法
6423
查看次数

支持在Java 6上运行的JMX客户端/服务器上的Kerberos身份验证/授权

我有我的JMX服务器,它注册从本地文件读取的bean,并根据需要将它们提供给其他JMX客户端.可以使用"jconsole"或在Tomcat容器下运行的Java应用程序访问服务器.

我想要的是添加身份验证,以防止"未知"身份访问JMX服务器.为此,我使用以下JVM选项添加了Kerberos authentication @ server

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=5555
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-Djava.security.auth.login.config=./conf/jaas.conf
-Djava.security.krb5.conf=./conf/krb5.conf
-Dcom.sun.management.jmxremote.login.config=MyKrbAuth
-Ddynamic.mbean.store=./conf/mbeans
-Djava.net.preferIPv4Stack=true
Run Code Online (Sandbox Code Playgroud)

我的jaas.conf看起来像这样>>

MyKrbAuth {
com.sun.security.auth.module.Krb5LoginModule required debug=true debugNative=true;
};
Run Code Online (Sandbox Code Playgroud)

当我使用上面的配置启动我的JMX服务器并尝试使用"jconsole"连接它时,我在客户端获得以下异常并且连接失败>>

Cipher: Crypto Permission check failed
Cipher: granted: (CryptoPermission * 128)
Cipher: requesting: (CryptoPermission AES 256)
Run Code Online (Sandbox Code Playgroud)

但在服务器身份验证似乎是成功>>

[java] [STARTED] Mbean Server
[java] Debug is  true storeKey false useTicketCache false useKeyTab false doNotPrompt false ticketCache is null isInitiator true KeyTab is null refreshKrb5Config is false principal is null tryFirstPass is false useFirstPass is false storePass is false clearPass is …
Run Code Online (Sandbox Code Playgroud)

java authentication authorization jmx kerberos

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