gpt4 book ai didi

spring - 如何使用 Spring Security 为微服务创建自定义安全过滤器

转载 作者:行者123 更新时间:2023-12-04 08:54:47 25 4
gpt4 key购买 nike

我对 Spring 安全的基本概念很少。我想为一个应用程序开发多个微服务,我想在其中使用可在所有微服务中使用的单点身份验证和授权。为了更具体,我想创建一个只能在每个微服务应用程序的 web.xml 中使用的通用过滤器。我不想在所有微服务中使用以下内容。

spring-security.xml

<http>
<intercept-url pattern="/index*" access="ROLE_USER" />
<access-denied-handler error-page="/customaccessdenied.jsp" />
<intercept-url pattern="/manage*" access="ROLE_ADMIN" />
<form-login default-target-url="/index" always-use-default-target="true"/>
<logout/>
<!-- <remember-me/> -->
</http>

<authentication-manager>
<authentication-provider>
<user-service>
<user name="admin" password="admin" authorities="ROLE_ADMIN,ROLE_USER" />
<user name="deb" password="deb" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>



web.xml
=======
<!-- Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

我不想在所有微服务中使用上述内容。我的应用程序应该如下图所示。

enter image description here

请帮助我如何实现它,如果您有任何示例应用程序,请提供给我链接。同样,重点是将所有与安全相关的东西放在一个地方,并使用该库和自定义过滤器,仅适用于所有微服务的 web.xml。

我想达到这样的目标
<filter>
<filter-name>mySecurityFilterChain</filter-name>
<filter-class>com.world.india.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
<filter-name>mySecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

请我在这方面需要您的帮助。希望对其他人有帮助。

最佳答案

您可以简单地将所有 View 放在文件夹中并设置对某个角色的访问权限。
因此,任何带有/service/* 的请求都可以重定向到登录屏幕,而所有其他请求可能不需要身份验证 (/*)

<http pattern="/resources/**" security="none" />
<http>
<intercept-url pattern="/service/*" access="ROLE_ADMIN" />
<access-denied-handler error-page="/customaccessdenied.jsp" />
<intercept-url pattern="/manage*" access="ROLE_ADMIN" />
<form-login default-target-url="/index" always-use-default- target="true"/>
<logout/>
<!-- <remember-me/> -->
</http>

您可以按照此 tutorial 设置自定义安全配置

关于spring - 如何使用 Spring Security 为微服务创建自定义安全过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38936086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com