休息后端,Angular.js前端很多问题

时间:2014-11-27 11:10:28

标签: angularjs java-ee cookies jboss7.x resteasy

Okey,所以有时间使用Jboss构建Web应用程序,restEasy作为后端,我想去一些像Angular.js这样的MVC前端框架。

之前从未这样做过,所以这里有一百万个问题:

我应该在java中使用安全角色还是拥有自己的安全认证并声明我自己的角色?

J_security_check很奇怪,如果您尝试访问禁用资源,它只会提示您登录。然后它将您重新路由到登录页面。我如何在Angular中使用它?在我看来,这可能是一个非常混乱的重新布线游戏。

消息摘要几乎没有任何解释,但似乎是要走的路,但我不知道如何使用它。

有人可以尝试向我解释在运行restEasy和angular时验证过程应该如何工作的步骤。以及在使用过程中后端前端之间的通信方式。

如果我在后端设置角色,角度如何知道哪些角色以及要显示的视图?我是否必须在每个请求中发送角色并存储在cookie中?或者会话ID是否足以让后端跟踪?

我头脑中的一切都很混乱。

但这就是我的想法:

  1. 浏览http:/www.mydomain.com /
  2. welcomepage是一个检查cookie的servlet,如果没有,则创建一个带有某种guest-info的cookie,然后它提供有角度的单页应用程序。 Angular读取cookie并为您提供登录页面。
  3. 登录通过SSL和后端摘要调用restservice并对用户进行身份验证。在这里,我不知道我应该做什么,我应该返回一个新角色的cookie吗?或不?我应该在sessionBean中存储登录用户的beck-end并在进行restcall时始终检查会话bean吗?我应该保护我的安全角色后面的休息服务吗?或以上所有?
  4. 我在黑暗中,请帮助。

1 个答案:

答案 0 :(得分:3)

由于您在后端使用RESTfull服务,我认为最好使用令牌身份验证而不是cookie。

使用cookie,它不会成为无状态,REST必须是无状态的。 你可以找到很多选项here

对于角色管理,在用户通过身份验证后,您可以从后端调用服务(使用标头中的标记)来获取角色。在angular中,您可以使用服务,localStorage或sessionStorage存储它们。之后,您不必在每个请求中发送角色(只有必须进行身份验证的请求的令牌)。

步骤如下:

  1. 浏览http:/www.mydomain.com /
  2. 如果用户已通过身份验证,即令牌在服务,localStorage或sessionStorage中,那么您将显示您的欢迎页面
  3. 如果用户未经过身份验证(无令牌),则显示登录页面。他对自己进行身份验证,角度接收令牌,拨打电话获取角色然后转到欢迎页面,如步骤2所示。
  4. 在您的后端,您可以通过验证令牌是否在请求的标头中进行管理。如果它无效或完全缺席,您将发回状态代码401 Unauthorized。然后,前端将知道它必须显示登录页面。