Tag: authentication

管理身份validation令牌的最佳做法

我正在使用HttpCLient在Java中编写REST客户端,我访问的REST API需要每个REST操作的身份validation令牌。 此令牌有效期为24小时。 我现在处理这个问题的方法是每当我需要进行REST调用时调用“ getAuth() ”方法,这似乎是auth服务器上的开销。 如何方便地存储此身份validation令牌并管理其生命周期? 是否有任何记录的最佳实践? 我想到了以下解决方案 public class MySession { String user; String pass; public MySession(String user, String pass) { this.user = user; this.pass = pass; } public getAuth() { //user user, pass to get auth token } } 然后将sessions对象传递给任何需要该令牌的类。 如果令牌已过期,请再次调用此方法

如何在GWT中实现登录屏幕?

我正在为后端应用程序编写一个小型GWT前端,我想知道GWT应用程序的最佳安全模型? 我正在考虑实现一个RPC方法,该方法从客户端网页接收用户密码的MD5,然后将会话ID传回客户端页面(或失败代码)。 所有后续调用都只使用会话ID,服务器会跟踪会话ID的IP地址是否与创建会话ID的IP地址相同? 这是GWT应用程序(非ssl)身份validation的标准机制吗? 如果没有,有人可以建议替代解决方案? 谢谢,

使用Primefaces进行j_security_check

如何使用Primefaces实现j_security_check ? 通常在JSP中如果要使用JAAS进行登录,则登录表单通常为: Username: Password: 但是我们如何在JSF或Primefaces中实现它! 这将是什么行动 我们如何摆脱像formId:componentId这样的id或名称 p:commandButton默认情况下在Primefaces中被ajaxified,所以它如何以非ajax方式提交表单 我需要使用Primefaces实现JAAS表单身份validation,我在这里分享解决方案; 它可能对某人有用。

spring security从DB获取用户ID

我使用spring security进行身份validation,并成功地在任何需要的地方获取User对象( org.springframework.security.core.userdetails.User )。 但我也想要UserId ,这在spring的User对象中不存在。 所以我创建了自己的对象( com.app.site.pojo.User )。 它有很少的额外变量,如userId , 用户出生日期等。现在我希望spring security使用我的user对象而不是spring User对象。 它应该包含有关该用户的所有详细信息。 我试图将用户对象的类型转换为我的对象,它抛出exception(很明显)。 我不想再次调用DB来再次从DB获取userId。 我怎样才能实现它?

HTTPS URL的基本代理身份validation返回HTTP / 1.0 407需要代理身份validation

我想在Java中使用具有基本身份validation(用户名,密码)的代理进行连接(并且只有此连接)。 以下代码适用于HTTP URL(例如“ http://www.google.com ”): URL url = new URL(“http://www.google.com”); HttpURLConnection httpURLConnection = null; InetSocketAddress proxyLocation = new InetSocketAddress(proxyHost, proxyPort); Proxy proxy = new Proxy(Proxy.Type.HTTP, proxyLocation); httpURLConnection = (HttpURLConnection) url.openConnection(proxy); // Works for HTTP only! Doesn’t work for HTTPS! String encoded = new sun.misc.BASE64Encoder().encodeBuffer((proxyUserName + “:” + proxyPassword).getBytes()).replace(“\r\n”, “”); httpURLConnection.setRequestProperty(“Proxy-Authorization”, “Basic ” + encoded); InputStream […]

在Jetty服务器中,如何获取需要客户端身份validation时使用的客户端证书?

设置一个请求客户端身份validation的嵌入式Jetty服务器非常容易:只需要添加语句SslContextFactory.setNeedClientAuth(true); 配置服务器时的ssl上下文。 在服务器的信任库中拥有其证书的任何客户端都将能够与服务器建立TLS连接。 但是,我需要知道所有可能的可信客户端的哪个客户端正在发出请求; 换句话说,我需要知道此连接中使用的客户端证书,特别是在处理程序中。 有谁知道如何访问此证书或甚至可能?

使用Spring Boot进行会话管理?

我想用Spring Boot设置会话管理和身份validation。 具体来说,当用户登录我的Web应用程序时,他们应该能够调用我的REST API来获取数据。 此外,在一段时间后,它们应该自动退出系统,此时任何REST调用也应该失败。 如何使用Spring Boot完成此操作?

身份validation后以编程方式添加角色

我有以下JSF 2.1登录表单,在Glassfish 3.1中运行 以及支持bean。 public String login() throws IOException, LoginException { log.debug(“Trying to login with username ” + username); HttpSession session = getRequest().getSession(true); try { getRequest().login(username, password); // if OK, add Roles ???????? ………………. } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } log.debug(“USER principal === ” + getRequest().getUserPrincipal()); return “home”; } […]

如何正确地向服务器validationAngularJS客户端

我正在构建一个使用RESTful API(Jersey)的AngularJS Web应用程序。 在服务器端,我使用的是Java Application Server(详见Glassfish 4)。 我的设置如下: AngularJS webapp作为单个war文件部署到Java EE Application服务器。 RESTfulAPI(和后端逻辑)也作为war文件部署到同一Java EE应用程序服务器。 AngularJS webapp调用REST API来获取所需的数据。 RESTful API: /api/public/*用于公共访问限制(例如/ api / public / users / signup注册为新用户)。 允许任何用户访问此区域。 无需登录 /api/private/*用于限制访问(例如/ api / private / account / {id}以检索某些帐户特定数据) 私有资源受Java EE内部安全性概念的保护(有关web.xml的详细信息,请参阅下文)。 在web.xml PRIVATE REST API /private/* GET POST HEAD PUT OPTIONS TRACE DELETE Have to be a […]

将jhipster后端和前端分成两个项目?

我正在尝试使用基于令牌的身份validation的jhipster 。 它完美地运作。 现在, 我想在不同的域上运行后端和前端代码 。 我怎样才能做到这一点? 这是我试过的: 运行yo jhipster并选择基于令牌的身份validation选项: Welcome to the JHipster Generator ? (1/13) What is the base name of your application? jhipster ? (2/13) What is your default Java package name? com.mycompany.myapp ? (3/13) Do you want to use Java 8? Yes (use Java 8) ? (4/13) Which *type* of authentication […]