Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javajax-rs和angularjs的用户身份验证和用户相关内容_Java_Angularjs_Rest_Jersey 2.0 - Fatal编程技术网

使用javajax-rs和angularjs的用户身份验证和用户相关内容

使用javajax-rs和angularjs的用户身份验证和用户相关内容,java,angularjs,rest,jersey-2.0,Java,Angularjs,Rest,Jersey 2.0,我试图掌握如何在服务器端使用REST(jersey)和客户端使用angularJS创建web应用程序,在客户端用户可以安全地注册/登录。 用户登录后,我想显示与用户相关的内容(他的个人资料) 在这个主题上有一些问题,但主要集中在具体方面,而不是一个完整的例子,所以我仍然缺少一些东西 更具体地说: 如何使用HttpServletRequest.login?文档指定“在为ServletContext配置的web容器登录机制使用的密码验证域中验证提供的用户名和密码” 如何指定登录机制 用户登录后,如何

我试图掌握如何在服务器端使用REST(jersey)和客户端使用angularJS创建web应用程序,在客户端用户可以安全地注册/登录。 用户登录后,我想显示与用户相关的内容(他的个人资料)

在这个主题上有一些问题,但主要集中在具体方面,而不是一个完整的例子,所以我仍然缺少一些东西

更具体地说:

如何使用HttpServletRequest.login?文档指定“在为ServletContext配置的web容器登录机制使用的密码验证域中验证提供的用户名和密码” 如何指定登录机制

用户登录后,如何显示其个人资料


另外,一个这样的web应用程序的例子将非常好。

我认为这将有助于您了解。在后端,您可以使用来轻松地委派所有用户管理需求。由于您对登录功能特别感兴趣,因此这是您使用Stormpath的方式:

这里有三种选择

  • 您可以通过其代理将登录/注册功能完全委托给Stormpath
  • 您也可以将其委托给我们的
  • 您想开发自己的登录
  • 如果您决定使用选项3:

  • 您的前端将显示登录表单(BWT、Stormpath还支持Google、Facebook、LinkedIn和Github登录)
  • 当用户按下登录按钮时,前端将通过RESTAPI将凭据安全地发送到后端
  • 然后,您的后端将尝试根据Stormpath后端对用户进行身份验证:

    /** This code will throw an Exception if the authentication fails */
    public void postOAuthToken(HttpServletRequest request, HttpServletResponse response) {
        Application application = client.getResource(applicationRestUrl, Application.class);
    
        //Getting the authentication result
        AccessTokenResult result = (AccessTokenResult) application.authenticateApiRequest(request);
    
        //Here you can get all the user data stored in Stormpath
        Account account = accessTokenResult.getAccount();
    
        response.setStatus(HttpServletResponse.SC_OK);
        response.setContentType("application/json");
    
        //Here you can also return some of the user data to your front-end in the response
        JSONObject dataSet = new JSONObject();
        dataSet.put("Email", account.getEmail());
        dataSet.put("Username", account.getUsername());
        response.getWriter().print(dataSet.toString());
    
        response.getWriter().flush();
    }
    
  • 请查看更多信息


    希望有帮助

    也许你应该把这个问题分解成更小更具体的问题。事实上,这感觉就像“你能告诉我怎么写这个功能吗?”谢谢你的评论,如果问题太笼统,我很抱歉。如我的问题中所述,我不确定如何利用HttpServletRequest.login方法。如何配置它,以便根据mysql数据库验证用户凭据?其次,假设用户已经登录,如何使用会话获取相关数据?我可以创建一个REST资源,它将返回一个用户配置文件对象并使用angular来显示它,我试图理解的是如何使用当前会话作为要检索的对象的标识符。好的,这是两个问题。为什么不把它们当作两个问题来问呢?我从未使用或听说过
    登录
    ,因此我无法直接帮助您。你好,马里奥,谢谢您的全面回复。问题是,我目前正在开发一个简单的web应用程序,主要用于学习目的,因此我目前不寻求付费解决方案。