小编ftu*_*men的帖子

Spring AOP中获取被拦截方法的Caller

有没有办法在Spring AOP中获取被拦截方法的调用者(MVC更具体)?我有两个方法说“callerM1()”和“callerM2()”,它们调用了一个被拦截的方法“method()”。然后我有一个这样的方面:

@Before("execution(* *.method(..)) && args(arg1)")
public Object doSomething(...){
    //find out which one and do something
} 
Run Code Online (Sandbox Code Playgroud)

如何仅使用 Spring AOP 功能来了解“callerM1()”或“callerM2()”中的哪一个调用了“method()”?在这里我也可以使用 around 建议,但我想这是一个不同的问题。我检查了各种可能性,包括 EnclosureStaticPart 和更改切入点定义但没有成功。

一个快速的解决方案是使用 StackTraceElement,但我认为这不是一个好的解决方案。

java aop aspectj

5
推荐指数
1
解决办法
2380
查看次数

通过授权码从lepture/Authlib获取Refresh Token

我正在尝试开发一个使用 Authlib OAuth2 服务器获取刷新令牌的简单工具,但此处的示例服务器不发出刷新令牌。当我打印令牌时,我得到以下信息:

{'access_token': '....', 'scope': 'profile', 'token_type': 'Bearer', 'expires_in': 864000, 'expires_at': 1532191887}
Run Code Online (Sandbox Code Playgroud)

流程是此处提到的授权代码;首先我处理同意部分:

client_id = '...'
client_secret = '.....'
scope = '...'
session = OAuth2Session(client_id, client_secret, scope=scope)
authorize_url = '.../oauth/authorize'
uri, state = session.authorization_url(authorize_url)
Run Code Online (Sandbox Code Playgroud)

然后我尝试获取令牌:

urlset = '.../?code=...&state=...'
access_token_url = '.../oauth/token'
token = session.fetch_access_token(access_token_url,authorization_response=urlset)    
Run Code Online (Sandbox Code Playgroud)

access-token oauth-2.0 refresh-token authlib

3
推荐指数
1
解决办法
608
查看次数

标签 统计

access-token ×1

aop ×1

aspectj ×1

authlib ×1

java ×1

oauth-2.0 ×1

refresh-token ×1