栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何向Spring MVC控制器方法添加自定义安全注释

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何向Spring MVC控制器方法添加自定义安全注释

我们还在项目中创建了一个自定义注释。您需要完成一些面向方面的编程。

首先,您需要创建自己的注释来标记您的方法,如下所示:

public @interface CustomSecurityAnnotation {}

然后,您必须编写在执行方法时触发的逻辑。您为此写了一个 方面

@Aspect@Componentpublic class CustomSecurityAspect {    @Pointcut("@annotation(my.package.CustomSecurityAnnotation)")    private void customSecurityAnnotation() {    }    @Around("my.package.CustomSecurityAspect.customSecurityAnnotation()")    public Object doSomething(ProceedingJoinPoint pjp) throws Throwable {        HttpServletRequest req = getRequest();        // Check header values        // Throw Spring's AccessDeniedException if needed        return pjp.proceed();    }    private HttpServletRequest getRequest() {        ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();        return sra.getRequest();    }}

如您所见,我已经包含了一种检索当前HTTP请求的方法,因此您可以轻松地检索要检查的标头。

如果是

AccessDeniedException
,Spring会自动将响应状态代码设置为HTTP 403。

不要忘记

@EnableAspectJAutoProxy
在您的
@Configuration
课程中启用来启用方面。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615790.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号