Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
pulsar
提交
bb945d38
pulsar
项目概览
apache
/
pulsar
通知
129
Star
40
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Wiki
1
Wiki
分析
仓库
DevOps
项目成员
Pages
pulsar
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Pages
分析
分析
仓库分析
DevOps
Wiki
1
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
提交
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
bb945d38
编写于
10月 05, 2018
作者:
Y
Yuta Mochizuki
提交者:
Matteo Merli
10月 04, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add System Property Option for Athenz (#2707)
上级
24749e16
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
2 deletion
+25
-2
pulsar-broker-auth-athenz/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderAthenz.java
...r/broker/authentication/AuthenticationProviderAthenz.java
+10
-2
pulsar-broker-auth-athenz/src/test/java/org/apache/pulsar/broker/authentication/AuthenticationProviderAthenzTest.java
...oker/authentication/AuthenticationProviderAthenzTest.java
+15
-0
未找到文件。
pulsar-broker-auth-athenz/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderAthenz.java
浏览文件 @
bb945d38
...
...
@@ -25,6 +25,7 @@ import java.security.PublicKey;
import
javax.naming.AuthenticationException
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.pulsar.broker.authentication.AuthenticationDataSource
;
import
org.apache.pulsar.broker.authentication.AuthenticationProvider
;
import
org.slf4j.Logger
;
...
...
@@ -39,14 +40,21 @@ public class AuthenticationProviderAthenz implements AuthenticationProvider {
private
static
final
String
DOMAIN_NAME_LIST
=
"athenzDomainNames"
;
private
static
final
String
SYS_PROP_DOMAIN_NAME_LIST
=
"pulsar.athenz.domain.names"
;
private
List
<
String
>
domainNameList
=
null
;
@Override
public
void
initialize
(
ServiceConfiguration
config
)
throws
IOException
{
if
(
config
.
getProperty
(
DOMAIN_NAME_LIST
)
==
null
)
{
String
domainNames
;
if
(
config
.
getProperty
(
DOMAIN_NAME_LIST
)
!=
null
)
{
domainNames
=
(
String
)
config
.
getProperty
(
DOMAIN_NAME_LIST
);
}
else
if
(!
StringUtils
.
isEmpty
(
System
.
getProperty
(
SYS_PROP_DOMAIN_NAME_LIST
)))
{
domainNames
=
System
.
getProperty
(
SYS_PROP_DOMAIN_NAME_LIST
);
}
else
{
throw
new
IOException
(
"No athenz domain name specified"
);
}
String
domainNames
=
(
String
)
config
.
getProperty
(
DOMAIN_NAME_LIST
);
domainNameList
=
Lists
.
newArrayList
(
domainNames
.
split
(
","
));
log
.
info
(
"Supported domain names for athenz: {}"
,
domainNameList
);
}
...
...
pulsar-broker-auth-athenz/src/test/java/org/apache/pulsar/broker/authentication/AuthenticationProviderAthenzTest.java
浏览文件 @
bb945d38
...
...
@@ -20,6 +20,7 @@ package org.apache.pulsar.broker.authentication;
import
static
org
.
testng
.
Assert
.
assertEquals
;
import
static
org
.
testng
.
Assert
.
fail
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.BeforeClass
;
...
...
@@ -63,6 +64,20 @@ public class AuthenticationProviderAthenzTest {
System
.
setProperty
(
ZpeConsts
.
ZPE_PROP_ATHENZ_CONF
,
"./src/test/resources/athenz.conf.test"
);
}
@Test
public
void
testInitilizeFromSystemPropeties
()
{
System
.
setProperty
(
"pulsar.athenz.domain.names"
,
"test_provider"
);
ServiceConfiguration
emptyConf
=
new
ServiceConfiguration
();
Properties
emptyProp
=
new
Properties
();
emptyConf
.
setProperties
(
emptyProp
);
AuthenticationProviderAthenz
sysPropProvider
=
new
AuthenticationProviderAthenz
();
try
{
sysPropProvider
.
initialize
(
emptyConf
);
}
catch
(
Exception
e
)
{
fail
(
"Fail to Read pulsar.athenz.domain.names from System Properties"
);
}
}
@Test
public
void
testAuthenticateSignedToken
()
throws
Exception
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录