Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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
使用Spring和AngularJS进行单页应用程序登录_Angularjs_Spring_Spring Security - Fatal编程技术网

使用Spring和AngularJS进行单页应用程序登录

使用Spring和AngularJS进行单页应用程序登录,angularjs,spring,spring-security,Angularjs,Spring,Spring Security,我正在创建一个可以被未知和登录用户使用的应用程序。唯一的区别是,登录用户可以使用一些附加功能,如将其内容保存在数据库中 所有通信都基于ajax调用,因此我需要的是拒绝未知用户访问后端的某些控制器函数(端点),在客户端,我需要知道它处于登录状态,以便将这些额外函数设置为活动。只有一页,登录表单应该在对话框中。我有点困惑,因为标准的Spring Security aproach不适合这种情况。我在读教程,但我不能完全理解它 :主要对象是什么?他们在使用login()函数提交时将凭据发送到此端点,但在

我正在创建一个可以被未知和登录用户使用的应用程序。唯一的区别是,登录用户可以使用一些附加功能,如将其内容保存在数据库中

所有通信都基于ajax调用,因此我需要的是拒绝未知用户访问后端的某些控制器函数(端点),在客户端,我需要知道它处于登录状态,以便将这些额外函数设置为活动。只有一页,登录表单应该在对话框中。我有点困惑,因为标准的Spring Security aproach不适合这种情况。我在读教程,但我不能完全理解它

:主要对象是什么?他们在使用
login()函数提交时将凭据发送到此端点,但在哪里处理密码检查?如果数据库中有我的用户呢?
是否可以以XML样式编写此配置?我想这可以通过
spring security.xml
文件中的
来完成

主要对象

主体对象用于在使用自动服务器身份验证(即LDAP)时获取有关试图登录的用户的基本信息。但是,您只能从主体对象获取用户名。例如,使用JBoss/WildFly服务器,您可以将服务器链接到Active Directory,以允许Microsoft Windows对用户进行身份验证

简单解

首先,SpringSecurity将为您的应用程序增加额外的复杂性,而您听起来并不是在尝试这样做。相反,使用一个简单的Servlet过滤器。如果您在JBoss/WildFly服务器上使用LDAP,您可以发布到
j_security_check
,如果提供了正确的凭据,服务器将向筛选器发送请求。在过滤器内部,您可以使用主体对象的
getName()
函数获取用户名,以便将其存储在用户会话中。但是,如果您不使用LDAP,您可以向Javaservlet或Spring控制器(使用@RequestMapping)发送一个简单的POST,尝试登录用户并在会话中存储用户信息

此时,您可以过滤出允许用户查看的URL。例如,如果URL的第一个目录中包含单词“administrator”,则包含/administrator/some/other/stuff.jsp的URL可能会受到限制