gpt4 book ai didi

java - POST : Accessing the HTTPRequest to find the logged on user 周围的 Spring 方面

转载 作者:行者123 更新时间:2023-11-30 09:20:31 24 4
gpt4 key购买 nike

我有一个用 Aspect 包装的用于 restful 服务的接口(interface)。

@Path("/rs-service/")
public interface ServiceRSI
{
@Override
@POST
@Path("/lookupParam/")
@Produces(MediaType.APPLICATION_XML)
ParamValue getParamValue(GetParamValue request);
}

然后是我的 XML 方面..

<aop:config>
<aop:aspect id="auditLoggingAspect" ref="auditLogging">
<aop:pointcut id="aspectA" expression="execution(* com.ServiceRSI.*(..))" />
<aop:around pointcut-ref="aspectA" method="logRequest" />
/>
</aop:aspect>
</aop:config>

我想要/需要做的是登录经过身份验证可以发出此请求的用户方面。我使用 MessageDigest 作为身份验证的一部分。

通常我会访问 HTTPRequest 以找出调用时已通过身份验证的用户,但在这种情况下不会传递给方法,因此我无法在这方面进行拦截。

任何人都可以建议一种方法来从 restufull 调用的某个方面访问经过身份验证的用户吗?

谢谢

最佳答案

如果您可以从HttpServletRequest 访问您需要的信息,那么您可以使用RequestContextHolder Spring 的访问权限。

ServletRequestAttributes t = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();  
HttpServletRequest req = t.getRequest();

有帮助吗?

关于java - POST : Accessing the HTTPRequest to find the logged on user 周围的 Spring 方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17344857/

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