gpt4 book ai didi

java - 在 Spring Security 3.0.2 中从数据库加载拦截 url

转载 作者:搜寻专家 更新时间:2023-10-31 20:30:37 25 4
gpt4 key购买 nike

我正在创建使用 Spring Security 的 spring 3 项目。

这是我当前上下文安全文件的一部分:

<http auto-config="true" use-expressions="true" >
<intercept-url pattern="/login.htm" access="permitAll"/>
<intercept-url pattern="/admin/*" access="hasRole('ROLE_ADMIN') and fullyAuthenticated"/>
<intercept-url pattern="/hello*" access="hasRole('ROLE_ANONYMOUS')"/>

我想从数据库(从某些 DAO)加载所有这些 url。即我想动态检查任何 url 的访问权限

我怎样才能以正确的方式做到这一点。

最佳答案

您可以使用 Domain Object Security (ACLs) 来做到这一点.

或者您可以实现 AbstractSecurityInterceptor 的子类.

或者您可以在临时代码中完成;即在 Controller 的某处实现访问检查,并抛出 AuthenticationException如果请求者没有所需的权限。

所有这些都以 SpringSecurity 过滤器结束,在出路时捕获 AuthenticationException 并采取适当的措施;例如重定向到登录页面,或返回“拒绝访问”状态的响应。

关于java - 在 Spring Security 3.0.2 中从数据库加载拦截 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6451077/

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