Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
d8477f1f
C
cat
项目概览
梦中观雨
/
cat
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d8477f1f
编写于
8月 05, 2014
作者:
X
xiaotian.li
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adjusts code format.
上级
b422fb17
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
311 addition
and
272 deletion
+311
-272
cat-core/src/main/java/com/dianping/cat/LDAPConfigManager.java
...ore/src/main/java/com/dianping/cat/LDAPConfigManager.java
+47
-20
cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java
...n/java/com/dianping/cat/build/ComponentsConfigurator.java
+2
-4
cat-home/src/main/java/com/dianping/cat/system/SystemContext.java
.../src/main/java/com/dianping/cat/system/SystemContext.java
+1
-1
cat-home/src/main/java/com/dianping/cat/system/config/DatabaseConfigManager.java
...com/dianping/cat/system/config/DatabaseConfigManager.java
+59
-60
cat-home/src/main/java/com/dianping/cat/system/page/alarm/Handler.java
...main/java/com/dianping/cat/system/page/alarm/Handler.java
+6
-7
cat-home/src/main/java/com/dianping/cat/system/page/alarm/RecordManager.java
...ava/com/dianping/cat/system/page/alarm/RecordManager.java
+20
-19
cat-home/src/main/java/com/dianping/cat/system/page/alarm/ScheduledManager.java
.../com/dianping/cat/system/page/alarm/ScheduledManager.java
+51
-51
cat-home/src/main/java/com/dianping/cat/system/page/config/Handler.java
...ain/java/com/dianping/cat/system/page/config/Handler.java
+2
-2
cat-home/src/main/java/com/dianping/cat/system/page/login/Handler.java
...main/java/com/dianping/cat/system/page/login/Handler.java
+1
-1
cat-home/src/main/java/com/dianping/cat/system/page/login/service/LDAPAuthenticationServiceImpl.java
...tem/page/login/service/LDAPAuthenticationServiceImpl.java
+57
-54
cat-home/src/main/java/com/dianping/cat/system/page/login/service/LoginMember.java
...m/dianping/cat/system/page/login/service/LoginMember.java
+17
-6
cat-home/src/main/java/com/dianping/cat/system/page/login/service/Session.java
...a/com/dianping/cat/system/page/login/service/Session.java
+7
-3
cat-home/src/main/java/com/dianping/cat/system/page/login/service/SessionManager.java
...ianping/cat/system/page/login/service/SessionManager.java
+18
-18
cat-home/src/main/java/com/dianping/cat/system/page/login/service/Token.java
...ava/com/dianping/cat/system/page/login/service/Token.java
+15
-13
cat-home/src/main/java/com/dianping/cat/system/page/login/service/TokenBuilder.java
.../dianping/cat/system/page/login/service/TokenBuilder.java
+8
-8
cat-home/src/main/java/com/dianping/cat/system/page/login/spi/ILDAPAuthenticationService.java
...cat/system/page/login/spi/ILDAPAuthenticationService.java
+0
-5
未找到文件。
cat-core/src/main/java/com/dianping/cat/LDAPConfigManager.java
浏览文件 @
d8477f1f
...
...
@@ -3,24 +3,51 @@ package com.dianping.cat;
import
javax.naming.ldap.Control
;
public
class
LDAPConfigManager
{
private
static
String
loginAttribute
=
"sAMAccountName"
;
private
final
String
ldapUrl
=
"ldap://192.168.50.11:389/DC=dianpingoa,DC=com"
;
private
final
String
ldapBaseDN
=
"OU=Normal,OU=1_UserAccount,DC=dianpingoa,DC=com"
;
private
final
String
ldapFactory
=
"com.sun.jndi.ldap.LdapCtxFactory"
;
private
final
String
solidDN
=
"cn=Users,DC=dianpingoa,DC=com"
;
private
final
String
solidUsername
=
"lionauth"
;
private
final
String
solidPwd
=
"bxHxXopGJOy78Jze3LWi"
;
private
Control
[]
connCtls
=
null
;
public
String
getLoginAttribute
()
{
return
loginAttribute
;
}
public
String
getLdapUrl
()
{
return
ldapUrl
;
}
public
String
getLdapBaseDN
()
{
return
ldapBaseDN
;
}
public
String
getLdapFactory
()
{
return
ldapFactory
;
}
public
String
getSolidDN
()
{
return
solidDN
;
}
public
String
getSolidUsername
()
{
return
solidUsername
;
}
public
String
getSolidPwd
()
{
return
solidPwd
;
}
public
Control
[]
getConnCtls
()
{
return
connCtls
;
}
private
static
String
loginAttribute
=
"sAMAccountName"
;
private
final
String
ldapUrl
=
"ldap://192.168.50.11:389/DC=dianpingoa,DC=com"
;
private
final
String
ldapBaseDN
=
"OU=Normal,OU=1_UserAccount,DC=dianpingoa,DC=com"
;
private
final
String
ldapFactory
=
"com.sun.jndi.ldap.LdapCtxFactory"
;
private
final
String
solidDN
=
"cn=Users,DC=dianpingoa,DC=com"
;
private
final
String
solidUsername
=
"lionauth"
;
private
final
String
solidPwd
=
"bxHxXopGJOy78Jze3LWi"
;
private
Control
[]
connCtls
=
null
;
public
String
getLoginAttribute
()
{
return
loginAttribute
;
}
public
String
getLdapUrl
()
{
return
ldapUrl
;
}
public
String
getLdapBaseDN
()
{
return
ldapBaseDN
;
}
public
String
getLdapFactory
()
{
return
ldapFactory
;
}
public
String
getSolidDN
()
{
return
solidDN
;
}
public
String
getSolidUsername
()
{
return
solidUsername
;
}
public
String
getSolidPwd
()
{
return
solidPwd
;
}
public
Control
[]
getConnCtls
()
{
return
connCtls
;
}
}
cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java
浏览文件 @
d8477f1f
...
...
@@ -314,10 +314,8 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all
.
add
(
C
(
ExceptionConfigManager
.
class
).
req
(
ConfigDao
.
class
));
all
.
add
(
C
(
DomainGroupConfigManager
.
class
).
req
(
ConfigDao
.
class
));
all
.
add
(
C
(
BugConfigManager
.
class
).
req
(
ConfigDao
.
class
));
all
.
add
(
C
(
DatabaseConfigManager
.
class
).
req
(
ScheduledReportDao
.
class
,
ScheduledReportSubscriptionDao
.
class
,
ScheduledReportSubscription2Dao
.
class
,
DpAdminLoginDao
.
class
));
all
.
add
(
C
(
DatabaseConfigManager
.
class
).
req
(
ScheduledReportDao
.
class
,
ScheduledReportSubscriptionDao
.
class
,
ScheduledReportSubscription2Dao
.
class
,
DpAdminLoginDao
.
class
));
all
.
add
(
C
(
MetricGroupConfigManager
.
class
).
req
(
ConfigDao
.
class
));
all
.
add
(
C
(
NetworkRuleConfigManager
.
class
).
req
(
ConfigDao
.
class
));
all
.
add
(
C
(
BusinessRuleConfigManager
.
class
).
req
(
ConfigDao
.
class
));
...
...
cat-home/src/main/java/com/dianping/cat/system/SystemContext.java
浏览文件 @
d8477f1f
...
...
@@ -23,7 +23,7 @@ import com.dianping.cat.home.dal.user.DpAdminLogin;
public
class
SystemContext
<
T
extends
ActionPayload
<?
extends
Page
,
?
extends
Action
>>
extends
ActionContext
<
T
>
{
private
LoginMember
m_signinMember
;
private
LoginMember
m_signinMember
;
public
LoginMember
getSigninMember
()
{
return
m_signinMember
;
...
...
cat-home/src/main/java/com/dianping/cat/system/config/DatabaseConfigManager.java
浏览文件 @
d8477f1f
...
...
@@ -14,80 +14,79 @@ import java.util.List;
public
class
DatabaseConfigManager
implements
Initializable
{
@Inject
private
ScheduledReportDao
m_scheduledReportDao
;
@Inject
private
ScheduledReportSubscriptionDao
m_scheduledReportSubscriptionDao
;
@Inject
private
ScheduledReportSubscription2Dao
m_scheduledReportSubscription2Dao
;
@Inject
private
DpAdminLoginDao
m_loginDao
;
@Override
public
void
initialize
()
{
List
<
ScheduledReport
>
reports
=
null
;
List
<
String
>
userNames
=
null
;
try
{
reports
=
queryScheduledReports
();
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
for
(
ScheduledReport
report
:
reports
)
{
int
scheduledReportId
=
report
.
getId
();
try
{
userNames
=
queryUserNamesBySchReportId
(
scheduledReportId
);
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
for
(
String
userName
:
userNames
)
{
insertSchReportIdAndUserName
(
scheduledReportId
,
userName
);
}
}
}
public
List
<
String
>
queryUserNamesBySchReportId
(
int
scheduledReportId
)
throws
DalException
{
List
<
String
>
userNames
=
new
ArrayList
<
String
>();
List
<
ScheduledReportSubscription
>
subscriptions
=
m_scheduledReportSubscriptionDao
.
findByScheduledReportId
(
scheduledReportId
,
ScheduledReportSubscriptionEntity
.
READSET_FULL
);
for
(
ScheduledReportSubscription
subscription
:
subscriptions
)
{
@Inject
private
ScheduledReportDao
m_scheduledReportDao
;
@Inject
private
ScheduledReportSubscriptionDao
m_scheduledReportSubscriptionDao
;
@Inject
private
ScheduledReportSubscription2Dao
m_scheduledReportSubscription2Dao
;
@Inject
private
DpAdminLoginDao
m_loginDao
;
@Override
public
void
initialize
()
{
List
<
ScheduledReport
>
reports
=
null
;
List
<
String
>
userNames
=
null
;
try
{
reports
=
queryScheduledReports
();
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
for
(
ScheduledReport
report
:
reports
)
{
int
scheduledReportId
=
report
.
getId
();
try
{
userNames
=
queryUserNamesBySchReportId
(
scheduledReportId
);
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
for
(
String
userName
:
userNames
)
{
insertSchReportIdAndUserName
(
scheduledReportId
,
userName
);
}
}
}
public
List
<
String
>
queryUserNamesBySchReportId
(
int
scheduledReportId
)
throws
DalException
{
List
<
String
>
userNames
=
new
ArrayList
<
String
>();
List
<
ScheduledReportSubscription
>
subscriptions
=
m_scheduledReportSubscriptionDao
.
findByScheduledReportId
(
scheduledReportId
,
ScheduledReportSubscriptionEntity
.
READSET_FULL
);
for
(
ScheduledReportSubscription
subscription
:
subscriptions
)
{
try
{
DpAdminLogin
login
=
m_loginDao
.
findByPK
(
subscription
.
getUserId
(),
DpAdminLoginEntity
.
READSET_FULL
);
String
email
=
login
.
getEmail
();
String
userName
=
email
.
substring
(
0
,
email
.
indexOf
(
'@'
));
userNames
.
add
(
userName
);
String
userName
=
email
.
substring
(
0
,
email
.
indexOf
(
'@'
));
userNames
.
add
(
userName
);
}
catch
(
Exception
e
)
{
Cat
.
logError
(
e
);
}
}
return
userNames
;
}
}
return
userNames
;
}
public
List
<
ScheduledReport
>
queryScheduledReports
()
throws
DalException
{
public
List
<
ScheduledReport
>
queryScheduledReports
()
throws
DalException
{
List
<
ScheduledReport
>
reports
=
m_scheduledReportDao
.
findAll
(
ScheduledReportEntity
.
READSET_FULL
);
return
reports
;
}
public
void
insertSchReportIdAndUserName
(
int
scheduledReportId
,
String
userName
)
{
ScheduledReportSubscription2
subscription2
=
new
ScheduledReportSubscription2
();
subscription2
.
setScheduledReportId
(
scheduledReportId
);
subscription2
.
setUserName
(
userName
);
subscription2
.
setKeyScheduledReportId
(
scheduledReportId
);
subscription2
.
setKeyUserName
(
userName
);
public
void
insertSchReportIdAndUserName
(
int
scheduledReportId
,
String
userName
)
{
ScheduledReportSubscription2
subscription2
=
new
ScheduledReportSubscription2
();
subscription2
.
setScheduledReportId
(
scheduledReportId
);
subscription2
.
setUserName
(
userName
);
subscription2
.
setKeyScheduledReportId
(
scheduledReportId
);
subscription2
.
setKeyUserName
(
userName
);
try
{
m_scheduledReportSubscription2Dao
.
insert
(
subscription2
);
try
{
m_scheduledReportSubscription2Dao
.
insert
(
subscription2
);
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
}
}
}
cat-home/src/main/java/com/dianping/cat/system/page/alarm/Handler.java
浏览文件 @
d8477f1f
...
...
@@ -4,7 +4,6 @@ import java.io.IOException;
import
javax.servlet.ServletException
;
import
com.dianping.cat.system.page.login.service.LoginMember
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.web.mvc.PageHandler
;
import
org.unidal.web.mvc.annotation.InboundActionMeta
;
...
...
@@ -12,8 +11,8 @@ import org.unidal.web.mvc.annotation.OutboundActionMeta;
import
org.unidal.web.mvc.annotation.PayloadMeta
;
import
org.unidal.web.mvc.annotation.PreInboundActionMeta
;
import
com.dianping.cat.home.dal.user.DpAdminLogin
;
import
com.dianping.cat.system.SystemPage
;
import
com.dianping.cat.system.page.login.service.LoginMember
;
public
class
Handler
implements
PageHandler
<
Context
>
{
public
static
final
String
FAIL
=
"Fail"
;
...
...
@@ -29,12 +28,12 @@ public class Handler implements PageHandler<Context> {
@Inject
private
ScheduledManager
m_scheduledManager
;
private
String
getLoginUserName
(
Context
ctx
)
{
private
String
getLoginUserName
(
Context
ctx
)
{
LoginMember
member
=
ctx
.
getSigninMember
();
if
(
member
!=
null
)
{
return
member
.
getUserName
();
}
if
(
member
!=
null
)
{
return
member
.
getUserName
();
}
return
null
;
}
...
...
@@ -52,7 +51,7 @@ public class Handler implements PageHandler<Context> {
Model
model
=
new
Model
(
ctx
);
Payload
payload
=
ctx
.
getPayload
();
Action
action
=
payload
.
getAction
();
String
userName
=
getLoginUserName
(
ctx
);
String
userName
=
getLoginUserName
(
ctx
);
boolean
result
=
false
;
switch
(
action
)
{
...
...
cat-home/src/main/java/com/dianping/cat/system/page/alarm/RecordManager.java
浏览文件 @
d8477f1f
...
...
@@ -34,22 +34,23 @@ public class RecordManager {
}
public
void
queryUserReportRecords
(
Model
model
,
String
userName
)
{
try
{
List
<
ScheduledReportSubscription2
>
scheduledReportSubscriptions
=
m_scheduledReportSubscriptionDao
.
findByUserName
(
userName
,
ScheduledReportSubscription2Entity
.
READSET_FULL
);
int
size
=
scheduledReportSubscriptions
.
size
();
int
ruleIds
[]
=
new
int
[
size
];
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
ScheduledReportSubscription2
scheduledReportSubscription
=
scheduledReportSubscriptions
.
get
(
i
);
ruleIds
[
i
]
=
scheduledReportSubscription
.
getScheduledReportId
();
}
List
<
MailRecord
>
mails
=
m_mailRecordDao
.
findReportRecordByRuleId
(
ruleIds
,
MailRecordEntity
.
READSET_ALL_EXCLUDE_CONTENT
);
model
.
setMailRecords
(
mails
);
}
catch
(
DalNotFoundException
e
)
{
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
model
.
setTemplateIndex
(
3
);
}
}
try
{
List
<
ScheduledReportSubscription2
>
scheduledReportSubscriptions
=
m_scheduledReportSubscriptionDao
.
findByUserName
(
userName
,
ScheduledReportSubscription2Entity
.
READSET_FULL
);
int
size
=
scheduledReportSubscriptions
.
size
();
int
ruleIds
[]
=
new
int
[
size
];
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
ScheduledReportSubscription2
scheduledReportSubscription
=
scheduledReportSubscriptions
.
get
(
i
);
ruleIds
[
i
]
=
scheduledReportSubscription
.
getScheduledReportId
();
}
List
<
MailRecord
>
mails
=
m_mailRecordDao
.
findReportRecordByRuleId
(
ruleIds
,
MailRecordEntity
.
READSET_ALL_EXCLUDE_CONTENT
);
model
.
setMailRecords
(
mails
);
}
catch
(
DalNotFoundException
e
)
{
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
model
.
setTemplateIndex
(
3
);
}
}
cat-home/src/main/java/com/dianping/cat/system/page/alarm/ScheduledManager.java
浏览文件 @
d8477f1f
...
...
@@ -22,7 +22,7 @@ import com.dianping.cat.home.dal.user.DpAdminLoginDao;
import
com.dianping.cat.home.dal.user.DpAdminLoginEntity
;
import
com.dianping.cat.system.page.alarm.UserReportSubState.UserReportSubStateCompartor
;
public
class
ScheduledManager
implements
Initializable
{
public
class
ScheduledManager
implements
Initializable
{
@Inject
private
DpAdminLoginDao
m_loginDao
;
...
...
@@ -39,7 +39,7 @@ public class ScheduledManager implements Initializable{
scheduledReportId
,
ScheduledReportSubscription2Entity
.
READSET_FULL
);
for
(
ScheduledReportSubscription2
subscription
:
subscriptions
)
{
emails
.
add
(
subscription
.
getUserName
()
+
"@dianping.com"
);
emails
.
add
(
subscription
.
getUserName
()
+
"@dianping.com"
);
}
return
emails
;
}
...
...
@@ -51,31 +51,31 @@ public class ScheduledManager implements Initializable{
}
public
void
queryScheduledReports
(
Model
model
,
String
userName
)
{
List
<
UserReportSubState
>
userRules
=
new
ArrayList
<
UserReportSubState
>();
try
{
List
<
ScheduledReport
>
lists
=
m_scheduledReportDao
.
findAll
(
ScheduledReportEntity
.
READSET_FULL
);
for
(
ScheduledReport
report
:
lists
)
{
int
scheduledReportId
=
report
.
getId
();
UserReportSubState
userSubState
=
new
UserReportSubState
(
report
);
userRules
.
add
(
userSubState
);
try
{
m_scheduledReportSubscriptionDao
.
findByPK
(
scheduledReportId
,
userName
,
ScheduledReportSubscription2Entity
.
READSET_FULL
);
userSubState
.
setSubscriberState
(
1
);
}
catch
(
DalNotFoundException
nfe
)
{
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
}
}
catch
(
DalNotFoundException
nfe
)
{
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
Collections
.
sort
(
userRules
,
new
UserReportSubStateCompartor
());
model
.
setUserReportSubStates
(
userRules
);
}
List
<
UserReportSubState
>
userRules
=
new
ArrayList
<
UserReportSubState
>();
try
{
List
<
ScheduledReport
>
lists
=
m_scheduledReportDao
.
findAll
(
ScheduledReportEntity
.
READSET_FULL
);
for
(
ScheduledReport
report
:
lists
)
{
int
scheduledReportId
=
report
.
getId
();
UserReportSubState
userSubState
=
new
UserReportSubState
(
report
);
userRules
.
add
(
userSubState
);
try
{
m_scheduledReportSubscriptionDao
.
findByPK
(
scheduledReportId
,
userName
,
ScheduledReportSubscription2Entity
.
READSET_FULL
);
userSubState
.
setSubscriberState
(
1
);
}
catch
(
DalNotFoundException
nfe
)
{
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
}
}
catch
(
DalNotFoundException
nfe
)
{
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
}
Collections
.
sort
(
userRules
,
new
UserReportSubStateCompartor
());
model
.
setUserReportSubStates
(
userRules
);
}
public
void
scheduledReportAdd
(
Payload
payload
,
Model
model
)
{
List
<
String
>
domains
=
new
ArrayList
<
String
>();
...
...
@@ -113,28 +113,28 @@ public class ScheduledManager implements Initializable{
}
public
boolean
scheduledReportSub
(
Payload
payload
,
String
userName
)
{
int
subState
=
payload
.
getUserSubState
();
int
scheduledReportId
=
payload
.
getScheduledReportId
();
ScheduledReportSubscription2
scheduledReportSubscription
=
m_scheduledReportSubscriptionDao
.
createLocal
();
scheduledReportSubscription
.
setKeyScheduledReportId
(
scheduledReportId
);
scheduledReportSubscription
.
setKeyUserName
(
userName
);
scheduledReportSubscription
.
setUserName
(
userName
);
scheduledReportSubscription
.
setScheduledReportId
(
scheduledReportId
);
try
{
if
(
subState
==
1
)
{
m_scheduledReportSubscriptionDao
.
deleteByPK
(
scheduledReportSubscription
);
}
else
{
m_scheduledReportSubscriptionDao
.
insert
(
scheduledReportSubscription
);
}
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
return
false
;
}
return
true
;
}
int
subState
=
payload
.
getUserSubState
();
int
scheduledReportId
=
payload
.
getScheduledReportId
();
ScheduledReportSubscription2
scheduledReportSubscription
=
m_scheduledReportSubscriptionDao
.
createLocal
();
scheduledReportSubscription
.
setKeyScheduledReportId
(
scheduledReportId
);
scheduledReportSubscription
.
setKeyUserName
(
userName
);
scheduledReportSubscription
.
setUserName
(
userName
);
scheduledReportSubscription
.
setScheduledReportId
(
scheduledReportId
);
try
{
if
(
subState
==
1
)
{
m_scheduledReportSubscriptionDao
.
deleteByPK
(
scheduledReportSubscription
);
}
else
{
m_scheduledReportSubscriptionDao
.
insert
(
scheduledReportSubscription
);
}
}
catch
(
DalException
e
)
{
Cat
.
logError
(
e
);
return
false
;
}
return
true
;
}
public
void
scheduledReportUpdate
(
Payload
payload
,
Model
model
)
{
int
id
=
payload
.
getScheduledReportId
();
...
...
@@ -163,6 +163,6 @@ public class ScheduledManager implements Initializable{
}
@Override
public
void
initialize
()
throws
InitializationException
{
}
public
void
initialize
()
throws
InitializationException
{
}
}
cat-home/src/main/java/com/dianping/cat/system/page/config/Handler.java
浏览文件 @
d8477f1f
...
...
@@ -88,8 +88,8 @@ public class Handler implements PageHandler<Context> {
@Inject
private
BugConfigManager
m_bugConfigManager
;
@Inject
private
DatabaseConfigManager
m_databaseConfigManager
;
@Inject
private
DatabaseConfigManager
m_databaseConfigManager
;
@Inject
private
MetricGroupConfigManager
m_metricGroupConfigManager
;
...
...
cat-home/src/main/java/com/dianping/cat/system/page/login/Handler.java
浏览文件 @
d8477f1f
...
...
@@ -124,7 +124,7 @@ public class Handler implements PageHandler<Context> {
String
actionUri
=
ctx
.
getRequestContext
().
getActionUri
();
sb
.
append
(
dateFormat
.
format
(
new
Date
()));
//sb.append(" ").append(member.getLoginName()).append('/').append(member.getLoginId()).append(' ');
//
sb.append(" ").append(member.getLoginName()).append('/').append(member.getLoginId()).append(' ');
if
(
request
.
getMethod
().
equalsIgnoreCase
(
"post"
))
{
Enumeration
<
String
>
names
=
request
.
getParameterNames
();
...
...
cat-home/src/main/java/com/dianping/cat/system/page/login/service/LDAPAuthenticationServiceImpl.java
浏览文件 @
d8477f1f
...
...
@@ -34,56 +34,57 @@ import java.util.Hashtable;
/**
* LDAPAuthenticationServiceImpl
*
* @author youngphy.yang
*
*/
public
class
LDAPAuthenticationServiceImpl
implements
ILDAPAuthenticationService
{
@Inject
LDAPConfigManager
m_LDAPConfigManager
;
@Inject
LDAPConfigManager
m_LDAPConfigManager
;
/**
* @throws Exception
* @throws Exception
* @throws javax.naming.AuthenticationException
* @throws javax.naming.NamingException
* @return if authentication succeeded, return user info; otherwise, return null;
* @throws
*/
@Override
@Override
public
Token
authenticate
(
String
userName
,
String
password
)
throws
Exception
{
Token
token
=
null
;
Token
token
=
null
;
LdapContext
ctx
=
null
;
String
shortName
=
null
;
Hashtable
<
String
,
String
>
env
=
null
;
Hashtable
<
String
,
String
>
env
=
null
;
try
{
shortName
=
getShortName
(
userName
);
}
catch
(
NamingException
e1
)
{
Cat
.
logEvent
(
"LoginError"
,
userName
+
" doesn't exist."
);
Cat
.
logEvent
(
"LoginError"
,
userName
+
" doesn't exist."
);
}
if
(
shortName
!=
null
)
{
if
(
shortName
!=
null
)
{
env
=
new
Hashtable
<
String
,
String
>();
env
.
put
(
Context
.
INITIAL_CONTEXT_FACTORY
,
m_LDAPConfigManager
.
getLdapFactory
());
env
.
put
(
Context
.
PROVIDER_URL
,
m_LDAPConfigManager
.
getLdapUrl
());
//
LDAP server
env
.
put
(
Context
.
SECURITY_AUTHENTICATION
,
"simple"
);
env
.
put
(
Context
.
SECURITY_PRINCIPAL
,
"cn="
+
shortName
+
","
+
m_LDAPConfigManager
.
getLdapBaseDN
());
env
.
put
(
Context
.
SECURITY_CREDENTIALS
,
password
);
try
{
ctx
=
new
InitialLdapContext
(
env
,
m_LDAPConfigManager
.
getConnCtls
());
}
catch
(
AuthenticationException
e
)
{
Cat
.
logEvent
(
"LoginError"
,
"Authentication faild: "
+
e
.
toString
());
throw
e
;
}
catch
(
Exception
e
)
{
Cat
.
logEvent
(
"LoginError"
,
"Something wrong while authenticating: "
+
e
.
toString
());
throw
e
;
}
if
(
ctx
!=
null
)
{
token
=
getUserInfo
(
shortName
,
ctx
,
userName
);
}
env
.
put
(
Context
.
INITIAL_CONTEXT_FACTORY
,
m_LDAPConfigManager
.
getLdapFactory
());
env
.
put
(
Context
.
PROVIDER_URL
,
m_LDAPConfigManager
.
getLdapUrl
());
//
LDAP server
env
.
put
(
Context
.
SECURITY_AUTHENTICATION
,
"simple"
);
env
.
put
(
Context
.
SECURITY_PRINCIPAL
,
"cn="
+
shortName
+
","
+
m_LDAPConfigManager
.
getLdapBaseDN
());
env
.
put
(
Context
.
SECURITY_CREDENTIALS
,
password
);
try
{
ctx
=
new
InitialLdapContext
(
env
,
m_LDAPConfigManager
.
getConnCtls
());
}
catch
(
AuthenticationException
e
)
{
Cat
.
logEvent
(
"LoginError"
,
"Authentication faild: "
+
e
.
toString
());
throw
e
;
}
catch
(
Exception
e
)
{
Cat
.
logEvent
(
"LoginError"
,
"Something wrong while authenticating: "
+
e
.
toString
());
throw
e
;
}
if
(
ctx
!=
null
)
{
token
=
getUserInfo
(
shortName
,
ctx
,
userName
);
}
}
return
token
;
}
...
...
@@ -91,9 +92,9 @@ public class LDAPAuthenticationServiceImpl implements ILDAPAuthenticationService
@SuppressWarnings
(
"rawtypes"
)
public
Token
getUserInfo
(
String
cn
,
LdapContext
ctx
,
String
userName
)
{
int
memberId
=
0
;
int
adminId
=
0
;
String
realName
=
null
;
int
memberId
=
0
;
int
adminId
=
0
;
String
realName
=
null
;
try
{
SearchControls
constraints
=
new
SearchControls
();
...
...
@@ -101,7 +102,7 @@ public class LDAPAuthenticationServiceImpl implements ILDAPAuthenticationService
NamingEnumeration
en
=
ctx
.
search
(
""
,
"cn="
+
cn
,
constraints
);
if
(
en
==
null
||
!
en
.
hasMoreElements
())
{
Cat
.
logEvent
(
"LoginError"
,
"Have no NamingEnumeration."
);
Cat
.
logEvent
(
"LoginError"
,
"Have no NamingEnumeration."
);
}
while
(
en
!=
null
&&
en
.
hasMoreElements
())
{
...
...
@@ -111,51 +112,53 @@ public class LDAPAuthenticationServiceImpl implements ILDAPAuthenticationService
SearchResult
sr
=
(
SearchResult
)
obj
;
Attributes
attrs
=
sr
.
getAttributes
();
if
(
attrs
.
get
(
"displayName"
)!=
null
)
{
realName
=
(
String
)
attrs
.
get
(
"displayName"
).
get
();
}
else
{
realName
=
userName
;
}
if
(
attrs
.
get
(
"displayName"
)
!=
null
)
{
realName
=
(
String
)
attrs
.
get
(
"displayName"
).
get
();
}
else
{
realName
=
userName
;
}
return
new
Token
(
adminId
,
memberId
,
realName
,
userName
);
return
new
Token
(
adminId
,
memberId
,
realName
,
userName
);
}
}
}
catch
(
Exception
e
)
{
Cat
.
logEvent
(
"LoginError"
,
"Exception in search():"
+
e
);
Cat
.
logEvent
(
"LoginError"
,
"Exception in search():"
+
e
);
}
return
new
Token
(
0
,
null
);
return
new
Token
(
0
,
null
);
}
@SuppressWarnings
(
"rawtypes"
)
private
String
getShortName
(
String
sAMAccountName
)
throws
NamingException
{
String
shortName
=
null
;
Hashtable
<
String
,
String
>
solidEnv
=
new
Hashtable
<
String
,
String
>();
solidEnv
.
put
(
Context
.
INITIAL_CONTEXT_FACTORY
,
m_LDAPConfigManager
.
getLdapFactory
());
solidEnv
.
put
(
Context
.
PROVIDER_URL
,
m_LDAPConfigManager
.
getLdapUrl
());
// LDAP server
solidEnv
.
put
(
Context
.
SECURITY_AUTHENTICATION
,
"simple"
);
solidEnv
.
put
(
Context
.
SECURITY_PRINCIPAL
,
"cn="
+
m_LDAPConfigManager
.
getSolidUsername
()
+
","
+
m_LDAPConfigManager
.
getSolidDN
());
solidEnv
.
put
(
Context
.
SECURITY_CREDENTIALS
,
m_LDAPConfigManager
.
getSolidPwd
());
LdapContext
solidContext
=
new
InitialLdapContext
(
solidEnv
,
m_LDAPConfigManager
.
getConnCtls
());
SearchControls
constraints
=
new
SearchControls
();
constraints
.
setSearchScope
(
SearchControls
.
SUBTREE_SCOPE
);
NamingEnumeration
en
=
solidContext
.
search
(
""
,
m_LDAPConfigManager
.
getLoginAttribute
()+
"="
+
sAMAccountName
,
constraints
);
Hashtable
<
String
,
String
>
solidEnv
=
new
Hashtable
<
String
,
String
>();
solidEnv
.
put
(
Context
.
INITIAL_CONTEXT_FACTORY
,
m_LDAPConfigManager
.
getLdapFactory
());
solidEnv
.
put
(
Context
.
PROVIDER_URL
,
m_LDAPConfigManager
.
getLdapUrl
());
// LDAP server
solidEnv
.
put
(
Context
.
SECURITY_AUTHENTICATION
,
"simple"
);
solidEnv
.
put
(
Context
.
SECURITY_PRINCIPAL
,
"cn="
+
m_LDAPConfigManager
.
getSolidUsername
()
+
","
+
m_LDAPConfigManager
.
getSolidDN
());
solidEnv
.
put
(
Context
.
SECURITY_CREDENTIALS
,
m_LDAPConfigManager
.
getSolidPwd
());
LdapContext
solidContext
=
new
InitialLdapContext
(
solidEnv
,
m_LDAPConfigManager
.
getConnCtls
());
SearchControls
constraints
=
new
SearchControls
();
constraints
.
setSearchScope
(
SearchControls
.
SUBTREE_SCOPE
);
NamingEnumeration
en
=
solidContext
.
search
(
""
,
m_LDAPConfigManager
.
getLoginAttribute
()
+
"="
+
sAMAccountName
,
constraints
);
if
(
en
==
null
)
{
Cat
.
logEvent
(
"LoginError"
,
"Have no NamingEnumeration."
);
Cat
.
logEvent
(
"LoginError"
,
"Have no NamingEnumeration."
);
return
shortName
;
}
if
(!
en
.
hasMoreElements
())
{
Cat
.
logEvent
(
"LoginError"
,
"Have no element."
);
Cat
.
logEvent
(
"LoginError"
,
"Have no element."
);
return
shortName
;
}
while
(
en
!=
null
&&
en
.
hasMoreElements
())
{
Object
obj
=
en
.
nextElement
();
if
(
obj
instanceof
SearchResult
)
{
SearchResult
sr
=
(
SearchResult
)
obj
;
//logger.debug(sr);
//
logger.debug(sr);
Attributes
attrs
=
sr
.
getAttributes
();
shortName
=
(
String
)
attrs
.
get
(
"cn"
).
get
();
shortName
=
(
String
)
attrs
.
get
(
"cn"
).
get
();
}
}
return
shortName
;
...
...
cat-home/src/main/java/com/dianping/cat/system/page/login/service/LoginMember.java
浏览文件 @
d8477f1f
...
...
@@ -2,12 +2,23 @@ package com.dianping.cat.system.page.login.service;
public
class
LoginMember
{
private
String
m_userName
;
private
String
m_realName
;
private
String
m_userName
;
public
String
getUserName
()
{
return
this
.
m_userName
;
}
public
String
getRealName
()
{
return
this
.
m_realName
;
}
private
String
m_realName
;
public
void
setUserName
(
String
userName
)
{
this
.
m_userName
=
userName
;
}
public
void
setRealName
(
String
realName
)
{
this
.
m_realName
=
realName
;
}
public
String
getUserName
()
{
return
this
.
m_userName
;
}
public
String
getRealName
()
{
return
this
.
m_realName
;
}
public
void
setUserName
(
String
userName
)
{
this
.
m_userName
=
userName
;
}
public
void
setRealName
(
String
realName
)
{
this
.
m_realName
=
realName
;
}
}
cat-home/src/main/java/com/dianping/cat/system/page/login/service/Session.java
浏览文件 @
d8477f1f
...
...
@@ -5,9 +5,13 @@ import com.dianping.cat.system.page.login.spi.ISession;
public
class
Session
implements
ISession
{
private
LoginMember
m_member
;
private
LoginMember
m_member
;
public
Session
(
LoginMember
member
)
{
this
.
m_member
=
member
;
}
public
Session
(
LoginMember
member
)
{
this
.
m_member
=
member
;
}
public
LoginMember
getMember
()
{
return
this
.
m_member
;
}
public
LoginMember
getMember
()
{
return
this
.
m_member
;
}
}
cat-home/src/main/java/com/dianping/cat/system/page/login/service/SessionManager.java
浏览文件 @
d8477f1f
...
...
@@ -14,8 +14,8 @@ public class SessionManager implements ISessionManager<Session, Token, Credentia
@Inject
private
DpAdminLoginDao
m_memberDao
;
@Inject
private
LDAPAuthenticationServiceImpl
m_LDAPService
;
@Inject
private
LDAPAuthenticationServiceImpl
m_LDAPService
;
private
Token
loginByLoginName
(
String
account
,
String
password
)
{
String
base
=
"0000000"
;
...
...
@@ -55,31 +55,31 @@ public class SessionManager implements ISessionManager<Session, Token, Credentia
String
account
=
credential
.
getAccount
();
String
password
=
credential
.
getPassword
();
Token
token
=
null
;
Token
token
=
null
;
try
{
token
=
m_LDAPService
.
authenticate
(
account
,
password
);
}
catch
(
Exception
e
)
{
Cat
.
logEvent
(
"Login"
,
"Login failure, uncorrected password."
);
}
try
{
token
=
m_LDAPService
.
authenticate
(
account
,
password
);
}
catch
(
Exception
e
)
{
Cat
.
logEvent
(
"Login"
,
"Login failure, uncorrected password."
);
}
if
(
token
!=
null
)
{
Cat
.
logEvent
(
"Login"
,
"Login success."
);
return
token
;
}
if
(
token
!=
null
)
{
Cat
.
logEvent
(
"Login"
,
"Login success."
);
return
token
;
}
Cat
.
logEvent
(
"Login"
,
"Login failure, uncorrected username."
);
return
null
;
Cat
.
logEvent
(
"Login"
,
"Login failure, uncorrected username."
);
return
null
;
}
@Override
public
Session
validate
(
Token
token
)
{
LoginMember
member
=
new
LoginMember
();
LoginMember
member
=
new
LoginMember
();
member
.
setUserName
(
token
.
getUserName
());
member
.
setRealName
(
token
.
getRealName
());
member
.
setUserName
(
token
.
getUserName
());
member
.
setRealName
(
token
.
getRealName
());
return
new
Session
(
member
);
return
new
Session
(
member
);
}
}
cat-home/src/main/java/com/dianping/cat/system/page/login/service/Token.java
浏览文件 @
d8477f1f
...
...
@@ -9,22 +9,22 @@ public class Token implements IToken {
private
String
m_realName
;
private
String
m_userName
;
private
String
m_userName
;
public
static
final
String
TOKEN
=
"ct"
;
public
Token
(
int
adminId
,
int
memberId
,
String
realName
,
String
userName
)
{
m_adminId
=
adminId
;
m_memberId
=
memberId
;
m_realName
=
realName
;
m_userName
=
userName
;
}
public
Token
(
int
adminId
,
int
memberId
,
String
realName
,
String
userName
)
{
m_adminId
=
adminId
;
m_memberId
=
memberId
;
m_realName
=
realName
;
m_userName
=
userName
;
}
public
Token
(
int
memberId
,
String
realName
,
String
userName
)
{
m_memberId
=
memberId
;
m_realName
=
realName
;
m_userName
=
userName
;
}
public
Token
(
int
memberId
,
String
realName
,
String
userName
)
{
m_memberId
=
memberId
;
m_realName
=
realName
;
m_userName
=
userName
;
}
public
Token
(
int
memberId
,
String
realName
)
{
m_memberId
=
memberId
;
...
...
@@ -41,7 +41,9 @@ public class Token implements IToken {
return
m_realName
;
}
public
String
getUserName
()
{
return
m_userName
;
}
public
String
getUserName
()
{
return
m_userName
;
}
public
int
getAdminId
()
{
return
m_adminId
;
...
...
cat-home/src/main/java/com/dianping/cat/system/page/login/service/TokenBuilder.java
浏览文件 @
d8477f1f
...
...
@@ -14,12 +14,12 @@ public class TokenBuilder implements ITokenBuilder<SigninContext, Token> {
public
String
build
(
SigninContext
ctx
,
Token
token
)
{
StringBuilder
sb
=
new
StringBuilder
(
256
);
String
userName
=
token
.
getUserName
();
String
userNameValue
=
""
;
try
{
userNameValue
=
java
.
net
.
URLEncoder
.
encode
(
userName
,
"utf-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
}
String
userName
=
token
.
getUserName
();
String
userNameValue
=
""
;
try
{
userNameValue
=
java
.
net
.
URLEncoder
.
encode
(
userName
,
"utf-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
}
String
realName
=
token
.
getRealName
();
String
value
=
""
;
...
...
@@ -29,7 +29,7 @@ public class TokenBuilder implements ITokenBuilder<SigninContext, Token> {
}
sb
.
append
(
value
).
append
(
SP
);
sb
.
append
(
token
.
getMemberId
()).
append
(
SP
);
sb
.
append
(
userNameValue
).
append
(
SP
);
sb
.
append
(
userNameValue
).
append
(
SP
);
sb
.
append
(
System
.
currentTimeMillis
()).
append
(
SP
);
sb
.
append
(
ctx
.
getRequest
().
getRemoteAddr
()).
append
(
SP
);
sb
.
append
(
getCheckSum
(
sb
.
toString
()));
...
...
@@ -49,7 +49,7 @@ public class TokenBuilder implements ITokenBuilder<SigninContext, Token> {
int
index
=
0
;
String
realName
=
parts
[
index
++];
int
memberId
=
Integer
.
parseInt
(
parts
[
index
++]);
String
userName
=
parts
[
index
++];
String
userName
=
parts
[
index
++];
long
lastLoginDate
=
Long
.
parseLong
(
parts
[
index
++]);
String
remoteIp
=
parts
[
index
++];
int
checkSum
=
Integer
.
parseInt
(
parts
[
index
++]);
...
...
cat-home/src/main/java/com/dianping/cat/system/page/login/spi/ILDAPAuthenticationService.java
浏览文件 @
d8477f1f
...
...
@@ -17,11 +17,6 @@ package com.dianping.cat.system.page.login.spi;
import
com.dianping.cat.system.page.login.service.Token
;
/**
* LDAPAuthenticationService
* @author youngphy.yang
*
*/
public
interface
ILDAPAuthenticationService
{
public
Token
authenticate
(
String
userName
,
String
password
)
throws
Exception
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录