gpt4 book ai didi

spring-mvc - Spring 安全 : allow user only to access their own administration page

转载 作者:行者123 更新时间:2023-12-03 11:31:02 26 4
gpt4 key购买 nike

在我的网络应用程序中,用户可以更改他们的用户详细信息。此页面的 URL 是:

springproject/usermanagement/edituserinfo/4

其中“4”是用户 ID。

我的安全上下文看起来像:
<security:http auto-config="true" use-expressions="true">
<security:intercept-url pattern="/usermanagement" access="isAuthenticated()" />
<security:intercept-url pattern="/usermanagement/new" access="hasRole('ROLE_ADMIN')" />
<security:intercept-url pattern="/usermanagement/edit/*" access="hasRole('ROLE_ADMIN')" />
<security:intercept-url pattern="/usermanagement/edituserinfo/*" access="isAuthenticated()" />
</security:http>

如何限制用户只能访问他们自己的“edituserinfo”页面?例如。用户 ID 为 1 的用户只能访问:“springproject/usermanagement/edituserinfo/1”而不是“springproject/usermanagement/edituserinfo/4”

最佳答案

您还可以使用支持表达式的 Spring Security 的 @PreAuthorize 来完成此操作:

@PreAuthorize("#userId == principal.id")
public void doSomething(@PathVariable String userId);

请参阅 Spring 文档:

Access Control using @PreAuthorize and @PostAuthorize

关于spring-mvc - Spring 安全 : allow user only to access their own administration page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871203/

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