我想使用java和angular登录webapp。我唯一想使用的部分是我已经实现的使用angular ui路由器的常见视图,如页眉和页脚。
Html:
<body>
<div id="wrap">
<!--header-->
<div ui-view="header"></div>
<!--main content-->
<div ui-view="content"></div>
</div>
<!--footer-->
<div ui-view="footer"></div>
</body
现在的困惑是,一旦我登录,我想将头导航栏中的登录状态更改为[welcome{user name}+loggedin]等。如果我使用java jsp,我不确定它是如何更改状态的——可能是使用标记库?
示例:
<security-constraint>
<web-resource-collection>
<web-resource-name>PRIVATE REST API</web-resource-name>
<url-pattern>/private*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>Have to be a USER</description>
<role-name>USERS</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>userauth</realm-name>
</login-config>
<security-role>
<description/>
<role-name>USERS</role-name>
</security-role>
</security-constraint>
我发现在angular中很容易,但大多数例子都只是基于angular,而不是angular+java
另外一个值得关注的问题是选择angular+java登录而不是普通的javajsp登录?为什么有些人会选择一个而不是另一个?在深入构建一个巨大的应用程序之前,我想得到一些专家的建议,因为有数百种不同的方法可以实现相同的
如果您要使用Angular,我认为您需要重新考虑您的技术堆栈方法。
如果您使用的是Angular,那么(几乎)没有理由使用JSP。可以说,JSP会慢得多,因为它们在服务器端造成了所有的膨胀,而且它们肯定会比使用Angular在客户端渲染前端慢。
考虑到这一点,您应该将Java应用程序视为后端API服务器,它只提供填充前端所需的内容(或消耗响应的内容),让前端根据需要解析和显示信息。这将有助于通过分离关注点来保持代码的整洁。此外,它不会将您的java代码与任何特定的前端技术捆绑在一起,因此应用程序可以增长,您的API可以用于移动应用程序、其他java应用程序等。
您说您只是在使用普通的Spring,但您的配置包含Spring安全元素。为什么要使用spring创建登录,而不使用spring安全性?
也许Spring的这些指南将帮助您配置应用程序:https://spring.io/guides/tutorials/spring-security-and-angular-js/和https://spring.io/blog/2015/01/12/the-login-page-angular-js-and-spring-security-part-ii
即使您不使用spring或spring安全性,这些文章也应该清除许多您不清楚的内容。
如果你对问题的第一部分仍然不确定,我建议你提出一个更具体的问题。目前,这个问题过于宽泛。