Tag: security

如何集成Spring Security和Struts2

我已经完成了很多关于这个问题的谷歌搜索,到目前为止我找不到任何关于集成Struts2和Spring Security的教程。 我的问题是如何集成Spring Security和Struts2? 我想要限制某些操作或页面,例如管理页面/url只能由管理员和其他类似的东西访问,如果用户试图访问该页面,他或她将被重定向到另一个页面。

如何设置Java以使用Eclipse的用户特定证书?

我无法相信我是唯一一个遇到这个问题的人。 我一直在谷歌搜索几个小时,没有运气。 Java安全文档似乎没有彻底解决PKCS12证书。 我正在尝试为用户特定的PKCS12证书设置Java。 除此之外,还将使用它,以便在Eclipse中,我可以访问通过证书进行身份validation的Trac服务器。 我正在使用Trac Mylyn集成插件进行eclipse。 这是设置: 用户主目录位于/ home 多用户安装在/中央 每个用户都有一个个人证书:〜/ user.p12 个人证书的密码是:pass1234 用户密码存储在〜/ password.txt的0400文件中 ca的只读信任存储位于:/central/ca.jks 没有信任库的密码 JDK 1.6安装在/central/jdk_1.6.0 Eclipse 3.4安装在/central/eclipse_3.4.0 JAVA_HOME = /中央/ jdk_1.6.0 JAVA_HOME设置为JDK位置,因为Eclipse需要它 ECLIPSE_HOME = /中央/ eclipse_3.4.0 JRE住在$ JAVA_HOME / jre 每个用户都有一个〜/ .java.policy文件 有一个运行在https://trac.internal/trac的trac服务器 trac服务器使用证书进行身份validation 现在,我希望能够让每个用户只修改他们拥有的某个文件(例如〜/ .java.policy文件),并能够启动中央Eclipse应用程序并访问Trac存储库。 看起来很简单。 现在,我能让它工作的唯一方法是编辑$ ECLIPSE_HOME / eclipse.ini文件并添加 -Djavax.net.ssl.keyStore=”/home/user/user.p12″ -Djavax.net.ssl.keyStoreType=”PKCS12″ -Djavax.net.ssl.keyStorePassword=”pass1234″ -Djavax.net.ssl.trustStore=”/central/ca.jks” 好的,这有效,但有两个问题: 每个用户都必须安装自己的ecipse。 (或者可以从用户文件中读取它?) 它特定于Eclipse,我最终希望将其作为Java配置。 另外,我记得有一段时间你可以编辑$ […]

SSL证书validation:javax.net.ssl.SSLHandshakeException

我试图通过Jersey Client调用HTTPS REST API。 在开发过程中,我偶然发现了以下错误: Exception in thread “main” com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching mvn.signify.abc.com found at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149) at com.sun.jersey.api.client.Client.handle(Client.java:648) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670) at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503) at com.lftechnology.sbworkbench.utility.utils.PingFederateUtility.main(PingFederateUtility.java:32) Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching mvn.signify.abc.com found 所以我把它搞砸了一下,找到了大量的解决方案,实际上有效。 使用Jersey客户端的HTTPS https://gist.github.com/outbounder/1069465 如何修复“java.security.cert.CertificateException:没有主题替代名称出现”错误? http://www.mkyong.com/webservices/jax-ws/java-security-cert-certificateexception-no-name-matching-localhost-found/ http://java.globinch.com/enterprise-java/security/fix-java-security-certificate-exception-no-matching-localhost-found/ 他们处于不同的领域,但他们有一个共同的解决方案来解决它。 脚本 我目前在开发环境中使用自创的自签名证书。 因此它必然会出现问题。 题 上述解决方案侧重于跳过/允许validation所有证书。 但是当我将它移动到生产环境时,我可以从可信赖的来源访问有效签名证书。 当我转向生产时,这些解决方案是否有任何帮助? 可以跳过SSLvalidation吗? 为开发和生产环境实现通用解决方案的另一种替代方法是什么? PS […]

Spring MVC Web应用程序检测暴力攻击的最佳方式是什么?

Spring 3.0 MVC中是否有任何特性可以帮助在Web应用程序的身份validation/登录页面上实现powershell攻​​击检测?

Glassfish 3安全性 – 使用JDBC Realm进行基于表单的身份validation

我想通过glassfishV3了解基于表单的安全性和JDBC领域,所以我决定创建一个允许登录和退出的小应用程序,我按照本书中的说明进行操作。 我理解保持的东西是如何工作的,但是有些东西是错的,我无法让它正常工作。 我首先做的是用JPA注释创建一个小数据库: @Entity @Table(name=”USERS”) public class User implements Serializable { private static final long serialVersionUID = -1244856316278032177L; @Id @GeneratedValue @Column(nullable = false) private Long id; @Column(nullable = false) private String email; @Column(nullable = false) private String password; @OneToMany(mappedBy = “user”) private List groups; //GET & SET METHODS… } 这是另一个包含每个用户角色的表 @Entity @Table(name=”GROUPS”) public class Group […]

用户可以设置JSF支持bean中的哪些属性?

我有一个支持bean( somebean ),它有三个布尔属性a , b和c ,每个都有一个getter和setter。 我有一个看起来像这样的表格: B is true 客户可以设置三个属性a , b和c哪a ? 我尝试在POST请求中添加b=true和c=true ,但是SomeBean.setB(boolean)和SomeBean.setC(boolean) 。 所以也许只能设置一个 – 逻辑是如果JSF中有一个字段设置它,客户端就可以设置它。 但也许我错了,它只是有一些我不知道的默认名称可以用来设置它… 我应该假设我的bean上的任何属性都可以由客户端设置吗? 如果没有,我应该假设客户端可以设置哪些(因此在validation期间必须担心)? 如果我有条件地渲染我的表单会发生什么? 例如: 在这种情况下,如果b为假,还可以设置吗? “客户端”是指将HTTP流量发送到我的网站的任何内容。 例如,可能是恶意代码。

带动作命令的JPasswordField安全性

我在我的程序中使用JPasswordField 。 当我问getPassword() ,我得到一个char[]数组。 但是当我向JPasswordField添加ActionListener并询问getActionCommand() ,我将密码作为String 。 此密码是否在事件对象中保存为String ? 这不是一个安全问题吗?

禁用单个连接的SSLHandshakeException

我正在寻找类似于这个答案的解决方案,但更安全。 我想禁用证书validation,但仅针对单个请求(这是我所需要的)。 所以它应该做以下一个或多个 一个请求完成后返回安全状态 仅禁用给定URL的validation (也许)仅针对一个线程使用不安全的设置 附录 当我要求更安全的解决方案时,我真的想知道这个问题(得分-2)与原始问题(得分+46)相比有什么问题。 有人能解释一下吗 解释为什么我需要这个:有一个有效的服务器证书,通常,它被使用。 但我需要向localhost发送一个请求,它也必须在开发人员机器上工作。 它必须是https因为没有http支持。

如何让@RolesAllowed注释适用于我的Web应用程序?

我使用Backbone.js,Bootstrap,NetBeans IDE 8.0,Java EE 7,JDK 8,WildFly服务器8.1.0,JBoss RESTEasy(resteasy-jaxrs-3.0.8),JBoss 2.2.22,JBoss EJB 3制作Web应用程序。 我(相对)是Web开发的新手,因此我刚开始掌握了很多基本概念和技术。 我正在尝试将用户和角色的权限系统构建到Web应用程序中,但我似乎无法使@RolesAllowed注释在我的RESTful Web服务中工作。 我已经在这个问题上工作了几天。 我有一个名为UserResource.java的RESTful资源(Java Enterprise / Session Bean?),在这里我有一个方法create来为应用程序创建一个新用户: import java.net.URI; import java.security.Principal; import java.util.List; import javax.annotation.security.PermitAll; import javax.annotation.security.RolesAllowed; import javax.ejb.EJB; import javax.ejb.Stateless; import javax.ws.rs.*; import javax.ws.rs.core.*; import org.jboss.ejb3.annotation.SecurityDomain; @Stateless @SecurityDomain(“other”) @Path(“/user”) public class UserResource { @EJB(name = “UserServiceImp”) UserService userService; @Context private UriInfo uriInfo; […]

如何仅在安全端点上应用Spring安全filter?

我有以下Spring Security配置: httpSecurity .csrf() .disable() .exceptionHandling() .authenticationEntryPoint(unauthorizedHandler) .and() .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() .antMatchers(“/api/**”).fullyAuthenticated() .and() .addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class); 即使在与/api/**表达式不匹配的端点上也应用authenticationTokenFilterBean() 。 我还尝试添加以下配置代码 @Override public void configure(WebSecurity webSecurity) { webSecurity.ignoring().antMatchers(“/some_endpoint”); } 但这仍然没有解决我的问题。 如何告诉spring security仅在与安全URI表达式匹配的端点上应用filter? 谢谢