gpt4 book ai didi

java - Shiro Security,多个领域,哪些授权信息被获取?

转载 作者:行者123 更新时间:2023-12-01 04:58:39 25 4
gpt4 key购买 nike

我在我的 shiro 安全保护 java 应用程序中使用两个领域。一种支持我的 OAuthToken,另一种支持 UsernamePasswordToken。现在,当我的用户使用 OAuthToken 对自己进行身份验证时,我的 OAuthRealm 的 doGetAuthenticationInfo 方法被调用,但我的 PasswordRealm 的 doGetAuthorizationInfo 被调用,任何人都可以告诉我,为什么?

亲切的问候克里斯

最佳答案

尝试重写方法isPermitted()在你的领域。 Shiro 使用此方法检查每个声明的领域,无论当前领域是否允许授权用户。您可以像这样实现此方法:

/**
* {@inheritDoc}
*/
@Override
public boolean isPermitted(PrincipalCollection principals, String permission) {
if (principals.fromRealm("realm name").isEmpty()) {
return false;
}
else {
return super.isPermitted(principals, permission);
}
}

关于java - Shiro Security,多个领域,哪些授权信息被获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13686246/

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