这是我在stackoverflow中的第一个问题。我会尽量把我的问题解释得通俗易懂。
我正在尝试使用spring(而不是spring-boot)、hibernate和angular 6来开发一个使用Java8的web应用。我已经编写了后端(spring和hibernate),我的实体与我的数据库(MySQL)工作得很好。我将后端划分为3个maven模块(persistance (实体-存储库)、服务、web(控制器)),并添加了一个Angular 6的前端maven模块。
这就是我的问题。我无法将angular与spring联系起来,特别是与spring security。我在src>main>webapp包中剪切并粘贴了angular的dist文件夹,但是我不能和/或我不知道如何使用spring security访问angular的登录页面。我的意思是,我不知道如何将angular登录与spring登录联系起来。
在我编写的spring安全配置xml中
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
<http>
<intercept-url pattern="/home" access="permitAll" />
<intercept-url pattern="/login" access="permitAll" />
<intercept-url pattern="/signup" access="permitAll" />
<intercept-url pattern="/logout" access="isAuthenticated()" />
<intercept-url pattern="/**" access="hasRole('USER')" />
<form-login />
<logout />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="admin" password="{noop}admin" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="user" password="{noop}user" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
我不知道如何将spring登录页面与我的angular登录页面关联起来,因为angular登录页面不在dist文件夹中。
下面是我的项目的结构:
myproject
----myproject-ng (angulars folder)
----myproject-persistence
--------entities
--------repositories
----myproject-service
--------serivices
----myproject-web
--------controllers
--------webapp
------------myproject-ng(angulars dist folder)发布于 2018-10-31 17:00:49
理想情况下,AngularJs 6项目应该独立于后端微服务运行。您必须通过@CrossOrigin注释在控制器中启用跨域请求。
https://stackoverflow.com/questions/53069014
复制相似问题