Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MaxKey单点登录官方(MaxKeyTop)
MaxKey
提交
fe2d3ed7
MaxKey
项目概览
MaxKey单点登录官方(MaxKeyTop)
/
MaxKey
11 个月 前同步成功
通知
76
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MaxKey
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fe2d3ed7
编写于
4月 01, 2020
作者:
MaxKey单点登录官方
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v1.3 RC
上级
b7db556e
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
432 addition
and
433 deletion
+432
-433
maxkey-core/src/main/java/org/maxkey/config/LoginConfig.java
maxkey-core/src/main/java/org/maxkey/config/LoginConfig.java
+85
-89
maxkey-core/src/main/java/org/maxkey/web/InitApplicationContext.java
.../src/main/java/org/maxkey/web/InitApplicationContext.java
+148
-138
maxkey-web-manage/src/main/resources/config/applicationConfig.properties
...ge/src/main/resources/config/applicationConfig.properties
+20
-0
maxkey-web-manage/src/main/resources/config/applicationLogin.properties
...age/src/main/resources/config/applicationLogin.properties
+0
-23
maxkey-web-manage/src/main/resources/spring/maxkey-mgt.xml
maxkey-web-manage/src/main/resources/spring/maxkey-mgt.xml
+2
-3
maxkey-web-maxkey/src/main/resources/config/applicationConfig.properties
...ey/src/main/resources/config/applicationConfig.properties
+176
-1
maxkey-web-maxkey/src/main/resources/config/applicationLogin.properties
...key/src/main/resources/config/applicationLogin.properties
+0
-139
maxkey-web-maxkey/src/main/resources/config/applicationSaml.properties
...xkey/src/main/resources/config/applicationSaml.properties
+0
-38
maxkey-web-maxkey/src/main/resources/spring/maxkey.xml
maxkey-web-maxkey/src/main/resources/spring/maxkey.xml
+1
-2
未找到文件。
maxkey-core/src/main/java/org/maxkey/config/LoginConfig.java
浏览文件 @
fe2d3ed7
...
...
@@ -5,94 +5,90 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.context.annotation.PropertySource
;
@Configuration
@PropertySource
(
"classpath:/config/application
Login
.properties"
)
@PropertySource
(
"classpath:/config/application
Config
.properties"
)
public
class
LoginConfig
{
@Value
(
"${config.login.captcha}"
)
boolean
captcha
;
@Value
(
"${config.login.onetimepwd}"
)
boolean
oneTimePwd
;
@Value
(
"${config.login.socialsignon}"
)
boolean
socialSignOn
;
@Value
(
"${config.login.kerberos}"
)
boolean
kerberos
;
@Value
(
"${config.login.remeberme}"
)
boolean
remeberMe
;
@Value
(
"${config.login.wsfederation}"
)
boolean
wsFederation
;
@Value
(
"${config.login.default.uri}"
)
String
defaultUri
;
/**
*
*/
public
LoginConfig
()
{
// TODO Auto-generated constructor stub
}
public
boolean
isCaptcha
()
{
return
captcha
;
}
public
void
setCaptcha
(
boolean
captcha
)
{
this
.
captcha
=
captcha
;
}
public
boolean
isOneTimePwd
()
{
return
oneTimePwd
;
}
public
void
setOneTimePwd
(
boolean
oneTimePwd
)
{
this
.
oneTimePwd
=
oneTimePwd
;
}
public
boolean
isSocialSignOn
()
{
return
socialSignOn
;
}
public
void
setSocialSignOn
(
boolean
socialSignOn
)
{
this
.
socialSignOn
=
socialSignOn
;
}
public
boolean
isKerberos
()
{
return
kerberos
;
}
public
void
setKerberos
(
boolean
kerberos
)
{
this
.
kerberos
=
kerberos
;
}
public
String
getDefaultUri
()
{
return
defaultUri
;
}
public
void
setDefaultUri
(
String
defaultUri
)
{
this
.
defaultUri
=
defaultUri
;
}
public
boolean
isRemeberMe
()
{
return
remeberMe
;
}
public
void
setRemeberMe
(
boolean
remeberMe
)
{
this
.
remeberMe
=
remeberMe
;
}
public
boolean
isWsFederation
()
{
return
wsFederation
;
}
public
void
setWsFederation
(
boolean
wsFederation
)
{
this
.
wsFederation
=
wsFederation
;
}
@Override
public
String
toString
()
{
return
"LoginConfig [captcha="
+
captcha
+
", oneTimePwd="
+
oneTimePwd
+
", socialSignOn="
+
socialSignOn
+
", kerberos="
+
kerberos
+
", remeberMe="
+
remeberMe
+
", wsFederation="
+
wsFederation
+
", defaultUri="
+
defaultUri
+
"]"
;
}
@Value
(
"${config.login.captcha}"
)
boolean
captcha
;
@Value
(
"${config.login.onetimepwd}"
)
boolean
oneTimePwd
;
@Value
(
"${config.login.socialsignon}"
)
boolean
socialSignOn
;
@Value
(
"${config.login.kerberos}"
)
boolean
kerberos
;
@Value
(
"${config.login.remeberme}"
)
boolean
remeberMe
;
@Value
(
"${config.login.wsfederation}"
)
boolean
wsFederation
;
@Value
(
"${config.login.default.uri}"
)
String
defaultUri
;
/**
* .
*/
public
LoginConfig
()
{
// TODO Auto-generated constructor stub
}
public
boolean
isCaptcha
()
{
return
captcha
;
}
public
void
setCaptcha
(
boolean
captcha
)
{
this
.
captcha
=
captcha
;
}
public
boolean
isOneTimePwd
()
{
return
oneTimePwd
;
}
public
void
setOneTimePwd
(
boolean
oneTimePwd
)
{
this
.
oneTimePwd
=
oneTimePwd
;
}
public
boolean
isSocialSignOn
()
{
return
socialSignOn
;
}
public
void
setSocialSignOn
(
boolean
socialSignOn
)
{
this
.
socialSignOn
=
socialSignOn
;
}
public
boolean
isKerberos
()
{
return
kerberos
;
}
public
void
setKerberos
(
boolean
kerberos
)
{
this
.
kerberos
=
kerberos
;
}
public
String
getDefaultUri
()
{
return
defaultUri
;
}
public
void
setDefaultUri
(
String
defaultUri
)
{
this
.
defaultUri
=
defaultUri
;
}
public
boolean
isRemeberMe
()
{
return
remeberMe
;
}
public
void
setRemeberMe
(
boolean
remeberMe
)
{
this
.
remeberMe
=
remeberMe
;
}
public
boolean
isWsFederation
()
{
return
wsFederation
;
}
public
void
setWsFederation
(
boolean
wsFederation
)
{
this
.
wsFederation
=
wsFederation
;
}
@Override
public
String
toString
()
{
return
"LoginConfig [captcha="
+
captcha
+
", oneTimePwd="
+
oneTimePwd
+
", socialSignOn="
+
socialSignOn
+
", kerberos="
+
kerberos
+
", remeberMe="
+
remeberMe
+
", wsFederation="
+
wsFederation
+
", defaultUri="
+
defaultUri
+
"]"
;
}
}
maxkey-core/src/main/java/org/maxkey/web/InitApplicationContext.java
浏览文件 @
fe2d3ed7
...
...
@@ -32,144 +32,154 @@ import org.springframework.web.context.support.WebApplicationContextUtils;
*/
public
class
InitApplicationContext
extends
HttpServlet
{
private
static
final
Logger
_logger
=
LoggerFactory
.
getLogger
(
InitApplicationContext
.
class
);
ApplicationContext
applicationContext
;
/**
*
*/
private
static
final
long
serialVersionUID
=
-
797399138268601444L
;
@Override
public
String
getServletInfo
()
{
return
super
.
getServletInfo
();
}
@Override
public
void
init
(
ServletConfig
config
)
throws
ServletException
{
super
.
init
(
config
);
//List Environment Variables
listEnvVars
();
listProperties
();
//List DatabaseMetaData Variables
listDataBaseVariables
();
//load caches
loadCaches
();
//Show License
showLicense
();
}
/**
*
private
static
final
long
serialVersionUID
=
-
797399138268601444L
;
ApplicationContext
applicationContext
;
Properties
properties
;
@Override
public
String
getServletInfo
()
{
return
super
.
getServletInfo
();
}
@Override
public
void
init
(
ServletConfig
config
)
throws
ServletException
{
super
.
init
(
config
);
// List Environment Variables
listEnvVars
();
listProperties
();
// List DatabaseMetaData Variables
listDataBaseVariables
();
// load caches
loadCaches
();
// Show License
showLicense
();
}
/**
* InitApplicationContext.
*/
public
InitApplicationContext
()
{
this
.
applicationContext
=
WebApplicationContextUtils
.
getWebApplicationContext
(
this
.
getServletContext
());
}
public
InitApplicationContext
(
ConfigurableApplicationContext
applicationContext
)
{
this
.
applicationContext
=
applicationContext
;
}
public
void
loadCaches
(){
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
info
(
"Load Caches "
);
try
{
if
(
applicationContext
.
containsBean
(
"cacheFactory"
)){
CacheFactory
cacheFactory
=
applicationContext
.
getBean
(
"cacheFactory"
,
CacheFactory
.
class
);
cacheFactory
.
start
();
}
}
catch
(
BeansException
e
)
{
e
.
printStackTrace
();
}
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
}
public
void
listDataBaseVariables
(){
if
(
applicationContext
.
containsBean
(
"dataSource"
)){
try
{
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
debug
(
"List DatabaseMetaData Variables "
);
Connection
connection
=
((
javax
.
sql
.
DataSource
)
applicationContext
.
getBean
(
"dataSource"
)).
getConnection
();
java
.
sql
.
DatabaseMetaData
databaseMetaData
=
connection
.
getMetaData
();
_logger
.
debug
(
"DatabaseProductName : "
+
databaseMetaData
.
getDatabaseProductName
());
_logger
.
debug
(
"DatabaseProductVersion: "
+
databaseMetaData
.
getDatabaseProductVersion
());
_logger
.
debug
(
"DatabaseMajorVersion : "
+
databaseMetaData
.
getDatabaseMajorVersion
());
_logger
.
debug
(
"DatabaseMinorVersion : "
+
databaseMetaData
.
getDatabaseMinorVersion
());
_logger
.
debug
(
"supportsTransactions : "
+
databaseMetaData
.
supportsTransactions
());
_logger
.
debug
(
"DefaultTransaction : "
+
databaseMetaData
.
getDefaultTransactionIsolation
());
_logger
.
debug
(
"MaxConnections : "
+
databaseMetaData
.
getMaxConnections
());
_logger
.
debug
(
""
);
_logger
.
debug
(
"JDBCMajorVersion : "
+
databaseMetaData
.
getJDBCMajorVersion
());
_logger
.
debug
(
"JDBCMinorVersion : "
+
databaseMetaData
.
getJDBCMinorVersion
());
_logger
.
debug
(
"DriverName : "
+
databaseMetaData
.
getDriverName
());
_logger
.
debug
(
"DriverVersion : "
+
databaseMetaData
.
getDriverVersion
());
_logger
.
debug
(
""
);
_logger
.
debug
(
"DBMS URL : "
+
databaseMetaData
.
getURL
());
_logger
.
debug
(
"UserName : "
+
databaseMetaData
.
getUserName
());
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
//propertySourcesPlaceholderConfigurer
public
void
listProperties
(){
if
(
applicationContext
.
containsBean
(
"propertySourcesPlaceholderConfigurer"
)){
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
debug
(
"List Properties Variables "
);
PropertySourcesPlaceholderConfigurer
propertySourcesPlaceholderConfigurer
=
((
PropertySourcesPlaceholderConfigurer
)
applicationContext
.
getBean
(
"propertySourcesPlaceholderConfigurer"
));
Properties
properties
=(
Properties
)
propertySourcesPlaceholderConfigurer
.
getAppliedPropertySources
().
get
(
PropertySourcesPlaceholderConfigurer
.
LOCAL_PROPERTIES_PROPERTY_SOURCE_NAME
).
getSource
();
Set
<
Object
>
keyValue
=
properties
.
keySet
();
SortedSet
<
String
>
keyValueSet
=
new
TreeSet
<
String
>();
//sort key
for
(
Iterator
<
Object
>
it
=
keyValue
.
iterator
();
it
.
hasNext
();){
String
key
=
(
String
)
it
.
next
();
keyValueSet
.
add
(
key
);
}
//out
for
(
Iterator
<
String
>
it
=
keyValueSet
.
iterator
();
it
.
hasNext
();){
String
key
=
(
String
)
it
.
next
();
_logger
.
debug
(
key
+
" = "
+
properties
.
get
(
key
));
}
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
}
}
public
void
listEnvVars
()
{
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
debug
(
"List Environment Variables "
);
Map
<
String
,
String
>
map
=
System
.
getenv
();
SortedSet
<
String
>
keyValueSet
=
new
TreeSet
<
String
>();
for
(
Iterator
<
String
>
itr
=
map
.
keySet
().
iterator
();
itr
.
hasNext
();)
{
String
key
=
itr
.
next
();
keyValueSet
.
add
(
key
);
}
// out
for
(
Iterator
<
String
>
it
=
keyValueSet
.
iterator
();
it
.
hasNext
();)
{
String
key
=
(
String
)
it
.
next
();
_logger
.
debug
(
key
+
" = "
+
map
.
get
(
key
));
}
_logger
.
debug
(
"APP_HOME"
+
" = "
+
PathUtils
.
getInstance
().
getAppPath
());
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
}
public
void
showLicense
(){
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
info
(
"+ Single Sign On ( SSO ) "
);
_logger
.
info
(
"+ MaxKey Version v1.3 GA"
);
_logger
.
info
(
""
);
_logger
.
info
(
"+ Apache License 2.0"
);
_logger
.
info
(
"+ https://github.com/shimingxy/MaxKey"
);
_logger
.
info
(
"+ email:shimingxy@163.com"
);
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
}
public
InitApplicationContext
()
{
this
.
applicationContext
=
WebApplicationContextUtils
.
getWebApplicationContext
(
this
.
getServletContext
());
}
public
InitApplicationContext
(
ConfigurableApplicationContext
applicationContext
)
{
this
.
applicationContext
=
applicationContext
;
}
public
void
loadCaches
()
{
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
info
(
"Load Caches "
);
try
{
if
(
applicationContext
.
containsBean
(
"cacheFactory"
))
{
CacheFactory
cacheFactory
=
applicationContext
.
getBean
(
"cacheFactory"
,
CacheFactory
.
class
);
cacheFactory
.
start
();
}
}
catch
(
BeansException
e
)
{
e
.
printStackTrace
();
}
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
}
public
void
listDataBaseVariables
()
{
if
(
applicationContext
.
containsBean
(
"dataSource"
))
{
try
{
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
debug
(
"List DatabaseMetaData Variables "
);
Connection
connection
=
((
javax
.
sql
.
DataSource
)
applicationContext
.
getBean
(
"dataSource"
))
.
getConnection
();
java
.
sql
.
DatabaseMetaData
databaseMetaData
=
connection
.
getMetaData
();
_logger
.
debug
(
"DatabaseProductName : "
+
databaseMetaData
.
getDatabaseProductName
());
_logger
.
debug
(
"DatabaseProductVersion: "
+
databaseMetaData
.
getDatabaseProductVersion
());
_logger
.
debug
(
"DatabaseMajorVersion : "
+
databaseMetaData
.
getDatabaseMajorVersion
());
_logger
.
debug
(
"DatabaseMinorVersion : "
+
databaseMetaData
.
getDatabaseMinorVersion
());
_logger
.
debug
(
"supportsTransactions : "
+
databaseMetaData
.
supportsTransactions
());
_logger
.
debug
(
"DefaultTransaction : "
+
databaseMetaData
.
getDefaultTransactionIsolation
());
_logger
.
debug
(
"MaxConnections : "
+
databaseMetaData
.
getMaxConnections
());
_logger
.
debug
(
""
);
_logger
.
debug
(
"JDBCMajorVersion : "
+
databaseMetaData
.
getJDBCMajorVersion
());
_logger
.
debug
(
"JDBCMinorVersion : "
+
databaseMetaData
.
getJDBCMinorVersion
());
_logger
.
debug
(
"DriverName : "
+
databaseMetaData
.
getDriverName
());
_logger
.
debug
(
"DriverVersion : "
+
databaseMetaData
.
getDriverVersion
());
_logger
.
debug
(
""
);
_logger
.
debug
(
"DBMS URL : "
+
databaseMetaData
.
getURL
());
_logger
.
debug
(
"UserName : "
+
databaseMetaData
.
getUserName
());
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
// propertySourcesPlaceholderConfigurer
public
void
listProperties
()
{
if
(
applicationContext
.
containsBean
(
"propertySourcesPlaceholderConfigurer"
))
{
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
debug
(
"List Properties Variables "
);
PropertySourcesPlaceholderConfigurer
propertySourcesPlaceholderConfigurer
=
((
PropertySourcesPlaceholderConfigurer
)
applicationContext
.
getBean
(
"propertySourcesPlaceholderConfigurer"
));
properties
=
(
Properties
)
propertySourcesPlaceholderConfigurer
.
getAppliedPropertySources
()
.
get
(
PropertySourcesPlaceholderConfigurer
.
LOCAL_PROPERTIES_PROPERTY_SOURCE_NAME
).
getSource
();
Set
<
Object
>
keyValue
=
properties
.
keySet
();
SortedSet
<
String
>
keyValueSet
=
new
TreeSet
<
String
>();
// sort key
for
(
Iterator
<
Object
>
it
=
keyValue
.
iterator
();
it
.
hasNext
();)
{
String
key
=
(
String
)
it
.
next
();
keyValueSet
.
add
(
key
);
}
// out
for
(
Iterator
<
String
>
it
=
keyValueSet
.
iterator
();
it
.
hasNext
();)
{
String
key
=
(
String
)
it
.
next
();
_logger
.
debug
(
key
+
" = "
+
properties
.
get
(
key
));
}
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
}
}
public
void
listEnvVars
()
{
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
debug
(
"List Environment Variables "
);
Map
<
String
,
String
>
map
=
System
.
getenv
();
SortedSet
<
String
>
keyValueSet
=
new
TreeSet
<
String
>();
for
(
Iterator
<
String
>
itr
=
map
.
keySet
().
iterator
();
itr
.
hasNext
();)
{
String
key
=
itr
.
next
();
keyValueSet
.
add
(
key
);
}
// out
for
(
Iterator
<
String
>
it
=
keyValueSet
.
iterator
();
it
.
hasNext
();)
{
String
key
=
(
String
)
it
.
next
();
_logger
.
debug
(
key
+
" = "
+
map
.
get
(
key
));
}
_logger
.
debug
(
"APP_HOME"
+
" = "
+
PathUtils
.
getInstance
().
getAppPath
());
_logger
.
debug
(
"----------------------------------------------------------------------------------------------------"
);
}
public
void
showLicense
()
{
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
_logger
.
info
(
"+ Single Sign On ( SSO ) "
);
_logger
.
info
(
"+ MaxKey Version "
+
properties
.
getProperty
(
"application.formatted-version"
));
_logger
.
info
(
""
);
_logger
.
info
(
"+ Apache License 2.0"
);
_logger
.
info
(
"+ https://shimingxy.github.io/MaxKey/"
);
_logger
.
info
(
"+ email:shimingxy@163.com"
);
_logger
.
info
(
"----------------------------------------------------------------------------------------------------"
);
}
}
maxkey-web-manage/src/main/resources/config/applicationConfig.properties
浏览文件 @
fe2d3ed7
...
...
@@ -63,7 +63,27 @@ config.email.smtpHost=smtp.exmail.qq.com
config.email.port
=
25
config.email.senderMail
=
test@maxkey.org
config.email.ssl
=
false
############################################################################
# Login configuration
#enable captcha
config.login.captcha
=
true
#enable two factor,use one time password
config.login.onetimepwd
=
true
#enable social sign on
config.login.socialsignon
=
true
#Enable kerberos/SPNEGO
config.login.kerberos
=
true
#wsFederation
config.login.wsfederation
=
false
#remeberme
config.login.remeberme
=
true
#validity
config.login.remeberme.validity
=
#default.uri
#to appList page
config.login.default.uri
=
appList
config.ipaddress.whitelist
=
false
############################################################################
# SAML V2.0 configuration
# saml common
...
...
maxkey-web-manage/src/main/resources/config/applicationLogin.properties
已删除
100644 → 0
浏览文件 @
b7db556e
############################################################################
# MaxKey
############################################################################
# Login configuration
#enable captcha
config.login.captcha
=
true
#enable two factor,use one time password
config.login.onetimepwd
=
true
#enable social sign on
config.login.socialsignon
=
true
#Enable kerberos/SPNEGO
config.login.kerberos
=
true
#wsFederation
config.login.wsfederation
=
false
#remeberme
config.login.remeberme
=
true
#validity
config.login.remeberme.validity
=
#default.uri
#to appList page
config.login.default.uri
=
appList
config.ipaddress.whitelist
=
false
maxkey-web-manage/src/main/resources/spring/maxkey-mgt.xml
浏览文件 @
fe2d3ed7
...
...
@@ -26,9 +26,8 @@
<bean
id=
"propertySourcesPlaceholderConfigurer"
class=
"org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
>
<property
name=
"locations"
>
<list>
<value>
classpath:config/applicationConfig.properties
</value>
<value>
classpath:config/applicationLogin.properties
</value>
<value>
classpath:config/applicationConfig.properties
</value>
<value>
classpath:application.properties
</value>
</list>
</property>
<property
name=
"ignoreUnresolvablePlaceholders"
value=
"true"
/>
...
...
maxkey-web-maxkey/src/main/resources/config/applicationConfig.properties
浏览文件 @
fe2d3ed7
...
...
@@ -76,4 +76,179 @@ config.redis.port=6379
#password
config.redis.password
=
password
config.redis.timeout
=
10000
\ No newline at end of file
config.redis.timeout
=
10000
############################################################################
# Login configuration
#enable captcha
config.login.captcha
=
true
#enable two factor,use one time password
config.login.onetimepwd
=
true
#enable social sign on
config.login.socialsignon
=
true
#Enable kerberos/SPNEGO
config.login.kerberos
=
true
#wsFederation
config.login.wsfederation
=
false
#remeberme
config.login.remeberme
=
true
#validity
config.login.remeberme.validity
=
#to default application web site
config.login.default.uri
=
appList
config.ipaddress.whitelist
=
false
############################################################################
# Kerberos Login configuration
############################################################################
#short name of user domain must be in upper case,eg:MAXKEY
config.support.kerberos.default.userdomain
=
MAXKEY
#short name of user domain must be in upper case,eg:MAXKEY.ORG
config.support.kerberos.default.fulluserdomain
=
MAXKEY.ORG
#last 8Bit crypto for Kerberos web Authentication
config.support.kerberos.default.crypto
=
846KZSzYq56M6d5o
#Kerberos Authentication server RUL
config.support.kerberos.default.redirecturi
=
http://sso.maxkey.org/kerberos/authn/
############################################################################
# HTTPHEADER Login configuration
############################################################################
config.support.httpheader.enable
=
false
config.support.httpheader.headername
=
header-user
# iv-user is for IBM Security Access Manager
#config.httpheader.headername=iv-user
############################################################################
# BASIC Login support configuration
############################################################################
config.support.basic.enable
=
false
#############################################################################
# WsFederation Login support configuration
#identifier: the identifer for the ADFS server
#url: the login url for ADFS
#principal: the name of the attribute/assertion returned by ADFS that contains the principal's username.
#relyingParty: the identifier of the CAS Server as it has been configured in ADFS.
#tolerance: (optional) the amount of drift to allow when validating the timestamp on the token. Default: 10000 (ms)
#attributeMutator: (optional) a class (defined by you) that can modify the attributes/assertions returned by the ADFS server
#signingCertificate: ADFS's signing certificate used to validate the token/assertions issued by ADFS.
############################################################################
config.support.wsfederation.identifier
=
http://adfs.maxkey.org/adfs/services/trust
config.support.wsfederation.url
=
https://adfs.maxkey.org/adfs/ls/
config.support.wsfederation.principal
=
upn
config.support.wsfederation.relyingParty
=
urn:federation:connsec
config.support.wsfederation.signingCertificate
=
adfs-signing.crt
config.support.wsfederation.tolerance
=
10000
config.support.wsfederation.upn.suffix
=
maxkey.org
config.support.wsfederation.logoutUrl
=
https://adfs.maxkey.org/adfs/ls/?wa=wsignout1.0
#############################################################################
#############################################################################
config.oidc.metadata.issuer
=
${config.server.name}/maxkey
config.oidc.metadata.authorizationEndpoint
=
${config.server.name}/maxkey/oauth/v20/authorize
config.oidc.metadata.tokenEndpoint
=
${config.server.name}/maxkey/oauth/v20/token
config.oidc.metadata.userinfoEndpoint
=
${config.server.name}/maxkey/api/connect/userinfo
#############################################################################
############################################################################
# Social Sign On Configuration #
#you config client.id & client.secret only
############################################################################
############################################################################
#sina weibo
config.socialsignon.sinaweibo.provider
=
sinaweibo
config.socialsignon.sinaweibo.provider.name
=
\u
65B0
\u
6D6A
\u
5FAE
\u
535A
config.socialsignon.sinaweibo.icon
=
images/social/sinaweibo.png
config.socialsignon.sinaweibo.client.id
=
3379757634
config.socialsignon.sinaweibo.client.secret
=
1adfdf9800299037bcab9d1c238664ba
config.socialsignon.sinaweibo.account.id
=
id
config.socialsignon.sinaweibo.sortorder
=
1
#Google
config.socialsignon.google.provider
=
google
config.socialsignon.google.provider.name
=
Google
config.socialsignon.google.icon
=
images/social/google.png
config.socialsignon.google.client.id
=
519914515488.apps.googleusercontent.com
config.socialsignon.google.client.secret
=
3aTW3Iw7e11QqMnHxciCaXTt
config.socialsignon.google.account.id
=
id
config.socialsignon.google.sortorder
=
2
#QQ
config.socialsignon.qq.provider
=
qq
config.socialsignon.qq.provider.name
=
QQ
config.socialsignon.qq.icon
=
images/social/qq.png
config.socialsignon.qq.client.id
=
101225363
config.socialsignon.qq.client.secret
=
8577d75e0eb4a91ac549cc8be3371bfd
config.socialsignon.qq.account.id
=
openid
config.socialsignon.qq.sortorder
=
4
#dingtalk
config.socialsignon.dingtalk.provider
=
dingtalk
config.socialsignon.dingtalk.provider.name
=
dingtalk
config.socialsignon.dingtalk.icon
=
images/social/dingtalk.png
config.socialsignon.dingtalk.client.id
=
dingoawf2jyiwh2uzqnphg
config.socialsignon.dingtalk.client.secret
=
Crm7YJbMKfRlvG2i1SHpg4GHVpqF_oXiEjhmRQyiSiuzNRWpbFh9i0UjDTfhOoN9
config.socialsignon.dingtalk.account.id
=
openid
config.socialsignon.dingtalk.sortorder
=
5
#Microsoft
config.socialsignon.microsoft.provider
=
microsoft
config.socialsignon.microsoft.provider.name
=
Microsoft
config.socialsignon.microsoft.icon
=
images/social/live.png
config.socialsignon.microsoft.client.id
=
24aa73b6-7928-4e64-bd64-d8682e650f95
config.socialsignon.microsoft.client.secret
=
PF[_AthtjVrtWVO2mNy@CJxY1@Z8FNf5
config.socialsignon.microsoft.account.id
=
id
config.socialsignon.microsoft.sortorder
=
6
#facebook
config.socialsignon.facebook.provider
=
facebook
config.socialsignon.facebook.provider.name
=
facebook
config.socialsignon.facebook.icon
=
images/social/facebook.png
config.socialsignon.facebook.client.id
=
appKey
config.socialsignon.facebook.client.secret
=
appSecret
config.socialsignon.facebook.account.id
=
id
config.socialsignon.facebook.sortorder
=
7
############################################################################
# SAML V2.0 configuration
#saml common
config.saml.v20.max.parser.pool.size
=
2
config.saml.v20.assertion.validity.time.ins.seconds
=
90
config.saml.v20.replay.cache.life.in.millis
=
14400000
config.saml.v20.issue.instant.check.clock.skew.in.seconds
=
90
config.saml.v20.issue.instant.check.validity.time.in.seconds
=
300
#saml idp keystore
config.saml.v20.idp.keystore.password
=
maxkey
config.saml.v20.idp.keystore.private.key.password
=
maxkey
config.saml.v20.idp.keystore
=
classpath
\:
config/samlServerKeystore.jks
#keystore id for sec
config.saml.v20.idp.issuing.entity.id
=
maxkey.org
config.saml.v20.idp.issuer
=
https://sso.maxkey.org/maxkey/saml
config.saml.v20.idp.receiver.endpoint
=
https
\:
//sso.maxkey.org/
#saml sp keystore
config.saml.v20.sp.keystore.password
=
maxkey
config.saml.v20.sp.keystore.private.key.password
=
maxkey
config.saml.v20.sp.keystore
=
classpath
\:
config/samlClientKeystore.jks
config.saml.v20.sp.issuing.entity.id
=
client.maxkey.org
#Saml v20 Metadata
config.saml.v20.metadata.orgName
=
maxkey
config.saml.v20.metadata.orgDisplayName
=
maxkey
config.saml.v20.metadata.orgURL
=
https://github.com/shimingxy/MaxKey
config.saml.v20.metadata.contactType
=
technical
config.saml.v20.metadata.company
=
maxkey
config.saml.v20.metadata.givenName
=
maxkey
config.saml.v20.metadata.surName
=
maxkey
config.saml.v20.metadata.emailAddress
=
shimingxy@163.com
config.saml.v20.metadata.telephoneNumber
=
4008981111
\ No newline at end of file
maxkey-web-maxkey/src/main/resources/config/applicationLogin.properties
已删除
100644 → 0
浏览文件 @
b7db556e
############################################################################
# MaxKey
############################################################################
# Login configuration
#enable captcha
config.login.captcha
=
true
#enable two factor,use one time password
config.login.onetimepwd
=
true
#enable social sign on
config.login.socialsignon
=
true
#Enable kerberos/SPNEGO
config.login.kerberos
=
true
#wsFederation
config.login.wsfederation
=
false
#remeberme
config.login.remeberme
=
true
#validity
config.login.remeberme.validity
=
#to default application web site
config.login.default.uri
=
appList
config.ipaddress.whitelist
=
false
############################################################################
# Kerberos Login configuration
############################################################################
#short name of user domain must be in upper case,eg:MAXKEY
config.support.kerberos.default.userdomain
=
MAXKEY
#short name of user domain must be in upper case,eg:MAXKEY.ORG
config.support.kerberos.default.fulluserdomain
=
MAXKEY.ORG
#last 8Bit crypto for Kerberos web Authentication
config.support.kerberos.default.crypto
=
846KZSzYq56M6d5o
#Kerberos Authentication server RUL
config.support.kerberos.default.redirecturi
=
http://sso.maxkey.org/kerberos/authn/
############################################################################
# HTTPHEADER Login configuration
############################################################################
config.support.httpheader.enable
=
false
config.support.httpheader.headername
=
header-user
# iv-user is for IBM Security Access Manager
#config.httpheader.headername=iv-user
############################################################################
# BASIC Login support configuration
############################################################################
config.support.basic.enable
=
false
#############################################################################
# WsFederation Login support configuration
#identifier: the identifer for the ADFS server
#url: the login url for ADFS
#principal: the name of the attribute/assertion returned by ADFS that contains the principal's username.
#relyingParty: the identifier of the CAS Server as it has been configured in ADFS.
#tolerance: (optional) the amount of drift to allow when validating the timestamp on the token. Default: 10000 (ms)
#attributeMutator: (optional) a class (defined by you) that can modify the attributes/assertions returned by the ADFS server
#signingCertificate: ADFS's signing certificate used to validate the token/assertions issued by ADFS.
############################################################################
config.support.wsfederation.identifier
=
http://adfs.maxkey.org/adfs/services/trust
config.support.wsfederation.url
=
https://adfs.maxkey.org/adfs/ls/
config.support.wsfederation.principal
=
upn
config.support.wsfederation.relyingParty
=
urn:federation:connsec
config.support.wsfederation.signingCertificate
=
adfs-signing.crt
config.support.wsfederation.tolerance
=
10000
config.support.wsfederation.upn.suffix
=
maxkey.org
config.support.wsfederation.logoutUrl
=
https://adfs.maxkey.org/adfs/ls/?wa=wsignout1.0
#############################################################################
#############################################################################
config.oidc.metadata.issuer
=
${config.server.name}/maxkey
config.oidc.metadata.authorizationEndpoint
=
${config.server.name}/maxkey/oauth/v20/authorize
config.oidc.metadata.tokenEndpoint
=
${config.server.name}/maxkey/oauth/v20/token
config.oidc.metadata.userinfoEndpoint
=
${config.server.name}/maxkey/api/connect/userinfo
#############################################################################
############################################################################
# Social Sign On Configuration #
#you config client.id & client.secret only
############################################################################
############################################################################
#sina weibo
config.socialsignon.sinaweibo.provider
=
sinaweibo
config.socialsignon.sinaweibo.provider.name
=
\u
65B0
\u
6D6A
\u
5FAE
\u
535A
config.socialsignon.sinaweibo.icon
=
images/social/sinaweibo.png
config.socialsignon.sinaweibo.client.id
=
3379757634
config.socialsignon.sinaweibo.client.secret
=
1adfdf9800299037bcab9d1c238664ba
config.socialsignon.sinaweibo.account.id
=
id
config.socialsignon.sinaweibo.sortorder
=
1
#Google
config.socialsignon.google.provider
=
google
config.socialsignon.google.provider.name
=
Google
config.socialsignon.google.icon
=
images/social/google.png
config.socialsignon.google.client.id
=
519914515488.apps.googleusercontent.com
config.socialsignon.google.client.secret
=
3aTW3Iw7e11QqMnHxciCaXTt
config.socialsignon.google.account.id
=
id
config.socialsignon.google.sortorder
=
2
#QQ
config.socialsignon.qq.provider
=
qq
config.socialsignon.qq.provider.name
=
QQ
config.socialsignon.qq.icon
=
images/social/qq.png
config.socialsignon.qq.client.id
=
101225363
config.socialsignon.qq.client.secret
=
8577d75e0eb4a91ac549cc8be3371bfd
config.socialsignon.qq.account.id
=
openid
config.socialsignon.qq.sortorder
=
4
#dingtalk
config.socialsignon.dingtalk.provider
=
dingtalk
config.socialsignon.dingtalk.provider.name
=
dingtalk
config.socialsignon.dingtalk.icon
=
images/social/dingtalk.png
config.socialsignon.dingtalk.client.id
=
dingoawf2jyiwh2uzqnphg
config.socialsignon.dingtalk.client.secret
=
Crm7YJbMKfRlvG2i1SHpg4GHVpqF_oXiEjhmRQyiSiuzNRWpbFh9i0UjDTfhOoN9
config.socialsignon.dingtalk.account.id
=
openid
config.socialsignon.dingtalk.sortorder
=
5
#Microsoft
config.socialsignon.microsoft.provider
=
microsoft
config.socialsignon.microsoft.provider.name
=
Microsoft
config.socialsignon.microsoft.icon
=
images/social/live.png
config.socialsignon.microsoft.client.id
=
24aa73b6-7928-4e64-bd64-d8682e650f95
config.socialsignon.microsoft.client.secret
=
PF[_AthtjVrtWVO2mNy@CJxY1@Z8FNf5
config.socialsignon.microsoft.account.id
=
id
config.socialsignon.microsoft.sortorder
=
6
#facebook
config.socialsignon.facebook.provider
=
facebook
config.socialsignon.facebook.provider.name
=
facebook
config.socialsignon.facebook.icon
=
images/social/facebook.png
config.socialsignon.facebook.client.id
=
appKey
config.socialsignon.facebook.client.secret
=
appSecret
config.socialsignon.facebook.account.id
=
id
config.socialsignon.facebook.sortorder
=
7
\ No newline at end of file
maxkey-web-maxkey/src/main/resources/config/applicationSaml.properties
已删除
100644 → 0
浏览文件 @
b7db556e
############################################################################
# MaxKey
############################################################################
# SAML V2.0 configuration
#saml common
config.saml.v20.max.parser.pool.size
=
2
config.saml.v20.assertion.validity.time.ins.seconds
=
90
config.saml.v20.replay.cache.life.in.millis
=
14400000
config.saml.v20.issue.instant.check.clock.skew.in.seconds
=
90
config.saml.v20.issue.instant.check.validity.time.in.seconds
=
300
#saml idp keystore
config.saml.v20.idp.keystore.password
=
maxkey
config.saml.v20.idp.keystore.private.key.password
=
maxkey
config.saml.v20.idp.keystore
=
classpath
\:
config/samlServerKeystore.jks
#keystore id for sec
config.saml.v20.idp.issuing.entity.id
=
maxkey.org
config.saml.v20.idp.issuer
=
https://sso.maxkey.org/maxkey/saml
config.saml.v20.idp.receiver.endpoint
=
https
\:
//sso.maxkey.org/
#saml sp keystore
config.saml.v20.sp.keystore.password
=
maxkey
config.saml.v20.sp.keystore.private.key.password
=
maxkey
config.saml.v20.sp.keystore
=
classpath
\:
config/samlClientKeystore.jks
config.saml.v20.sp.issuing.entity.id
=
client.maxkey.org
#Saml v20 Metadata
config.saml.v20.metadata.orgName
=
maxkey
config.saml.v20.metadata.orgDisplayName
=
maxkey
config.saml.v20.metadata.orgURL
=
https://github.com/shimingxy/MaxKey
config.saml.v20.metadata.contactType
=
technical
config.saml.v20.metadata.company
=
maxkey
config.saml.v20.metadata.givenName
=
maxkey
config.saml.v20.metadata.surName
=
maxkey
config.saml.v20.metadata.emailAddress
=
shimingxy@163.com
config.saml.v20.metadata.telephoneNumber
=
4008981111
\ No newline at end of file
maxkey-web-maxkey/src/main/resources/spring/maxkey.xml
浏览文件 @
fe2d3ed7
...
...
@@ -23,8 +23,7 @@
<property
name=
"locations"
>
<list>
<value>
classpath:config/applicationConfig.properties
</value>
<value>
classpath:config/applicationLogin.properties
</value>
<value>
classpath:config/applicationSaml.properties
</value>
<value>
classpath:application.properties
</value>
</list>
</property>
<property
name=
"ignoreUnresolvablePlaceholders"
value=
"true"
/>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录