Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Java 使用jwt令牌的spring安全性_Java_Spring_Spring Security_Jwt_Rest Security - Fatal编程技术网

Java 使用jwt令牌的spring安全性

Java 使用jwt令牌的spring安全性,java,spring,spring-security,jwt,rest-security,Java,Spring,Spring Security,Jwt,Rest Security,我们正在设计一个可以通过移动应用程序和web应用程序访问的应用程序 移动应用程序将使用公开的RESTAPI获取数据(我们使用的是CXF)。对于web应用程序,我们使用SpringMVC,它还将从RESTAPI获取数据。在这两种情况下,我们都希望显示经过身份验证的用户的数据。对于身份验证,我们使用JWT令牌 我的问题是,我们提供了两种通过REST或web访问数据的方法,并且都需要身份验证。我们如何在这两个组件中重用安全代码 web组件的URL RESTAPI组件的URL 用于身份验证的URL

我们正在设计一个可以通过移动应用程序和web应用程序访问的应用程序

移动应用程序将使用公开的RESTAPI获取数据(我们使用的是CXF)。对于web应用程序,我们使用SpringMVC,它还将从RESTAPI获取数据。在这两种情况下,我们都希望显示经过身份验证的用户的数据。对于身份验证,我们使用JWT令牌

我的问题是,我们提供了两种通过REST或web访问数据的方法,并且都需要身份验证。我们如何在这两个组件中重用安全代码

web组件的URL

RESTAPI组件的URL

用于身份验证的URL

最初,我们考虑为每个组件使用两个不同的过滤器,即web和REST。我们将从它们中的每一个对身份验证API进行REST调用,以验证令牌。这种方法的一个疑问是,如果用户通过web,那么使用这种设计,我们将两次验证令牌。所以最好是从RESTAPI调用身份验证API,避免在web中调用,因为RESTAPI将始终进行身份验证调用


还有其他更好的方法吗?

我认为您可以在web和移动设备之间共享REST API,并使用JWT令牌保护API。尽管有设计,所有REST调用都应该始终经过身份验证。所以,若使用MVC返回视图,则必须对每个REST调用执行auth和。正如@chenrui所说,您可以使用JWT代币进行web和adroid auth。谢谢chenrui和绝地先生