Tag: 认证

使用基于USB的硬件解决方案的盗版保护

我想通过使用一些基于USB的身份validation和密码管理解决方案保护我的Java产品,就像你可以在这里购买一样: aladdin这意味着你必须先连接一个带有特殊软件的USB记忆棒才能启动你的应用程序。 我想在这里使用像这样的硬件的用户的一些经验。 这听起来像是安全的吗? 一般:你会花多少钱来保护一个会卖100次的软件? 我将对我的Java代码进行模糊处理,并将一些用户特定的操作系统设置保存在位于硬盘上某处的加密文件中。 我不想限制用户进行在线注册,因为应用程序不需要互联网。 谢谢 评论:我工作的公司现在使用Wibu超过5年。

标准表单身份validationJava servlet

使用Java Servlets进行表单身份validation的标准方法是什么? 从现在开始,我使用一个简单的POST HTML表单实现了自己: 检查发送的参数对数据库 如果存在,将User对象保存到HttpSession中 检查每个Servlet是否存在此对象 如果不是:重定向到登录页面,并显示错误消息 但现在我偶然发现了如何使用Embedded Jetty配置安全性,现在我想我可以重用已经实现的解决方案来解决这个问题,但这里的标准方法是什么? 我自己在使用Jetty,但是Tomcat或其他Web服务器呢? 我还读到了j_security_check ,那是什么? 这是遗留方法吗?

如何使用Java创建身份validation令牌

在我的Java EE6,REST服务上,我想使用身份validation令牌从移动设备登录,用户将发送他们的用户名,密码和服务器将发回一个令牌,该令牌将用于授权用户他们对给定的进一步请求时间。 我可以像这样简单地创建一个令牌吗?(我想我不需要加密它,因为我将使用HTTPS。) String token = UUID.randomUUID().toString().toUpperCase() + “|” + “userid” + “|” + cal.getTimeInMillis(); 或者有一种更标准的方式来创建我的令牌? 也许它存在于API之一中

JSF身份validation和授权

为JSF Web应用程序实现身份validation和授权的最佳方法是什么? 我还是希望使用基于容器的安全性,因为我需要调用需要主体的EJB。 我意识到基于表单的身份validation是与JSF的一次重大斗争,但是我可以使用PhaseListener或类似的程序登录来validation用户吗? 我还应该看看其他任何方法吗?

Web应用程序中的NTLM身份validation(java)

我在我的Web应用程序中使用以下filter来启用NTLM身份validation。 我得到了Windows浏览器身份validation提示。 它工作正常。 除了这个事实 – 我无法判断身份validation是成功还是失败! * 两种情况都没有错误。 *在每种情况下都会打印用户名(正确或其他),工作站等。 package com.test; import java.io.IOException; import java.io.PrintStream; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jcifs.ntlmssp.Type3Message; import com.sun.xml.internal.ws.util.StringUtils; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class NTLMUserFilter implements Filter { private FilterConfig filterConfig = null; private String userDomain = null; […]

Spring拦截url配置中ROLE_USER和ROLE_ANONYMOUS有什么区别?

在Spring拦截url配置中ROLE_USER和ROLE_ANONYMOUS之间有什么区别,例如下面的示例?

如何检查用户是否在Servlet中登录?

在Java Servlet中,我想以编程方式检查用户是否已登录 。

HttpClient为Kerberos身份validation设置凭据

我正在尝试使用kerberos / HTTP主机进行身份validation。 使用Apache HttpClient作为我的客户端 – 以及此源的略微修改版本。 我的Kerberos身份validation完全正常,我希望知道如何以编程方式设置登录凭据。 目前,凭据是通过控制台手动输入的,但我希望在运行时由我选择。 [实际上,我希望自动化并加载测试具有大量用户的服务器。 ]。 编辑:这是相关部分的代码片段: .. NegotiateSchemeFactory nsf = new NegotiateSchemeFactory(); httpclient.getAuthSchemes().register(AuthPolicy.SPNEGO, nsf); Credentials use_jaas_creds = new Credentials() { public String getPassword() { return null; } public Principal getUserPrincipal() { return null; } }; httpclient.getCredentialsProvider().setCredentials( new AuthScope(null, -1, null), use_jaas_creds); HttpUriRequest request = new HttpGet(“http://kerberoshost/”); HttpResponse response = […]

如何在HttpsURLConnection中使用证书身份validation?

我正在尝试连接到HTTPS URL,但我需要使用客户端身份validation和第三方软件在我的系统上放置的证书。 我一点也不知道我应该如何找到或使用它,而我所要做的只是C#示例代码,它与我发现的所有Java答案有很大不同。 (例如,KeyStore显然需要某种密码?) 这是我的C#示例代码 System.Security.Cryptography.X509Certificates.X509CertificateCollection SSC_Certs = new System.Security.Cryptography.X509Certificates.X509CertificateCollection(); Microsoft.Web.Services2.Security.X509.X509CertificateStore WS2_store = Microsoft.Web.Services2.Security.X509.X509CertificateStore.CurrentUserStore( Microsoft.Web.Services2.Security.X509.X509CertificateStore.MyStore); WS2_store.OpenRead(); Microsoft.Web.Services2.Security.X509.X509CertificateCollection WS2_store_Certs = WS2_store.Certificates; 然后它只是迭代WS2_store_Certs CertificateCollection并以这种方式检查它们。 再进一步,它设置这样的证书: HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url_string); httpWebRequest.ClientCertificates = SSC_Certs; 这一切看起来都很合理,即使我不知道它是如何找到证书的,但我仍然无法找到Java的等价物。 UPDATE 我正在建立的连接是依赖于JDK 5的更大应用程序的一部分,但我已经设法使用sunmscapi jar来查找我正在寻找的证书。 当我尝试使用Windows密钥库进行连接时出现错误,所以我认为通过从Windows应用程序获取我需要的证书并将其插入默认的java文件中我解决了这个问题。 现在我收到一个EOFException,然后是SSLHandshakeException,说“握手期间远程主机关闭连接”。 ssl调试跟踪不会向我显示直接问题,因为我需要的证书显示在此处的证书链中。 它完成了整个ClientKeyExchange的事情,说它已经完成,然后我从调试日志中得到的最后一条消息就是 [write] MD5 and SHA1 hashes: len = 16 0000: 14 00 00 0C D3 E1 E7 […]

Play 2.3.x中的身份validation

我正在使用Play! 框架v2.3(Java),我想在我的网络应用程序中添加一些用户身份validation,即每个用户的用户名/密码和注册过程。 我在v2.1和v2.2上找到了有关如何执行此操作的文档的一些信息: http : //www.playframework.com/documentation/2.1.0/JavaGuide4 https://www.playframework.com/documentation/的2.2.x / JavaGuide4 但我在v2.3上找不到任何更新的信息。 我已经尝试过查看API for play.mvc.Security.Authenticated但它没有帮助( http://www.playframework.com/documentation/2.3.x/api/java/play/mvc/Security。 Authenticated.html )。 谁知道如何正确地做到这一点?