Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
test
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
邬友楠
test
Commits
9d15c8c2
Commit
9d15c8c2
authored
Jun 29, 2020
by
雍欢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、修改平台人员密级相关功能为统一使用数据字典(原有逻辑是枚举+数据字典,存在硬编码);
2、人员选择对话框可根据密级和涉密等级过滤人员; 3、取消lic检查
parent
987bcb64
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
207 additions
and
195 deletions
+207
-195
PersonMember.java
...common/src/main/java/com/huigou/context/PersonMember.java
+3
-3
SecurityGrade.java
...ommon/src/main/java/com/huigou/context/SecurityGrade.java
+1
-0
User.java
huigou-common/src/main/java/com/huigou/context/User.java
+4
-4
SDO.java
huigou-common/src/main/java/com/huigou/util/SDO.java
+22
-7
Person.java
...java/com/huigou/uasp/bmp/opm/domain/model/org/Person.java
+9
-20
PersonSecurityGrade.java
...ou/uasp/bmp/opm/domain/model/org/PersonSecurityGrade.java
+5
-1
OrgQueryModel.java
...a/com/huigou/uasp/bmp/opm/domain/query/OrgQueryModel.java
+34
-1
AuthenticationApplicationImpl.java
...igou/uasp/bmp/opm/impl/AuthenticationApplicationImpl.java
+7
-2
OrgApplicationImpl.java
...java/com/huigou/uasp/bmp/opm/impl/OrgApplicationImpl.java
+31
-24
StandardLicenseChecker.java
.../com/huigou/uasp/bmp/opm/impl/StandardLicenseChecker.java
+14
-27
CoreApplicationFactory.java
...com/huigou/uasp/bmp/opm/proxy/CoreApplicationFactory.java
+7
-21
StandardRealm.java
...p/src/main/java/com/huigou/shiro/realm/StandardRealm.java
+37
-50
SecurityPolicyApplicationImpl.java
...olicy/application/impl/SecurityPolicyApplicationImpl.java
+10
-11
FlowBroker.java
...ou-uasp/src/main/java/com/huigou/uasp/bpm/FlowBroker.java
+3
-2
BizLogBuilder.java
...c/main/java/com/huigou/uasp/log/aspect/BizLogBuilder.java
+15
-19
SelectOrgCommonPage.js
...ain/webapp/system/opm/organization/SelectOrgCommonPage.js
+5
-3
No files found.
huigou-common/src/main/java/com/huigou/context/PersonMember.java
View file @
9d15c8c2
...
@@ -28,7 +28,7 @@ public class PersonMember extends OrgNode implements Serializable {
...
@@ -28,7 +28,7 @@ public class PersonMember extends OrgNode implements Serializable {
private
String
loginName
;
private
String
loginName
;
private
S
ecurityGrade
securityGrade
;
private
S
tring
securityGrade
;
private
String
tenantId
;
private
String
tenantId
;
...
@@ -205,11 +205,11 @@ public class PersonMember extends OrgNode implements Serializable {
...
@@ -205,11 +205,11 @@ public class PersonMember extends OrgNode implements Serializable {
this
.
loginName
=
loginName
;
this
.
loginName
=
loginName
;
}
}
public
S
ecurityGrade
getSecurityGrade
()
{
public
S
tring
getSecurityGrade
()
{
return
securityGrade
;
return
securityGrade
;
}
}
public
void
setSecurityGrade
(
S
ecurityGrade
securityGrade
)
{
public
void
setSecurityGrade
(
S
tring
securityGrade
)
{
this
.
securityGrade
=
securityGrade
;
this
.
securityGrade
=
securityGrade
;
}
}
...
...
huigou-common/src/main/java/com/huigou/context/SecurityGrade.java
View file @
9d15c8c2
...
@@ -10,6 +10,7 @@ import com.huigou.util.StringUtil;
...
@@ -10,6 +10,7 @@ import com.huigou.util.StringUtil;
*
*
* @author gongmm
* @author gongmm
*/
*/
@Deprecated
public
enum
SecurityGrade
{
public
enum
SecurityGrade
{
NONE
(
"NONE"
,
""
),
NONE
(
"NONE"
,
""
),
NON_SECRET
(
"NON_SECRET"
,
"非密"
),
NON_SECRET
(
"NON_SECRET"
,
"非密"
),
...
...
huigou-common/src/main/java/com/huigou/context/User.java
View file @
9d15c8c2
...
@@ -52,7 +52,7 @@ public class User implements Serializable {
...
@@ -52,7 +52,7 @@ public class User implements Serializable {
private
String
password
;
private
String
password
;
private
S
ecurityGrade
securityGrade
;
private
S
tring
securityGrade
;
private
String
tenantId
;
private
String
tenantId
;
...
@@ -167,7 +167,7 @@ public class User implements Serializable {
...
@@ -167,7 +167,7 @@ public class User implements Serializable {
this
.
mainOrgFullName
=
mainOrgFullName
;
this
.
mainOrgFullName
=
mainOrgFullName
;
this
.
mainOrgFullCode
=
mainOrgFullCode
;
this
.
mainOrgFullCode
=
mainOrgFullCode
;
this
.
securityGrade
=
SecurityGrade
.
fromId
(
securityGradeId
)
;
this
.
securityGrade
=
securityGradeId
;
}
}
public
User
(
PersonMember
personMember
)
{
public
User
(
PersonMember
personMember
)
{
...
@@ -247,11 +247,11 @@ public class User implements Serializable {
...
@@ -247,11 +247,11 @@ public class User implements Serializable {
this
.
password
=
password
;
this
.
password
=
password
;
}
}
public
S
ecurityGrade
getSecurityGrade
()
{
public
S
tring
getSecurityGrade
()
{
return
securityGrade
;
return
securityGrade
;
}
}
public
void
setSecurityGrade
(
S
ecurityGrade
securityGrade
)
{
public
void
setSecurityGrade
(
S
tring
securityGrade
)
{
this
.
securityGrade
=
securityGrade
;
this
.
securityGrade
=
securityGrade
;
}
}
...
...
huigou-common/src/main/java/com/huigou/util/SDO.java
View file @
9d15c8c2
package
com
.
huigou
.
util
;
package
com
.
huigou
.
util
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.regex.Pattern
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.Map
;
import
java.util.Set
;
import
com.huigou.context.Operator
;
import
com.huigou.context.Operator
;
import
com.huigou.domain.IdentifiedEntity
;
import
com.huigou.domain.IdentifiedEntity
;
import
com.huigou.domain.QueryRequest
;
import
com.huigou.domain.QueryRequest
;
import
com.huigou.exception.ApplicationException
;
import
com.huigou.exception.ApplicationException
;
import
org.apache.commons.lang.StringUtils
;
/**
/**
* 服务数据对象
* 服务数据对象
...
@@ -20,6 +19,11 @@ import com.huigou.exception.ApplicationException;
...
@@ -20,6 +19,11 @@ import com.huigou.exception.ApplicationException;
public
class
SDO
implements
Serializable
{
public
class
SDO
implements
Serializable
{
private
final
static
List
<
String
>
NOT_STRIPXSS_KEY_WHITELIST
=
new
ArrayList
<
String
>();
private
final
static
List
<
String
>
NOT_STRIPXSS_KEY_WHITELIST
=
new
ArrayList
<
String
>();
/**
* @since 1.2.8
*/
private
final
static
Pattern
JSON_ARRAY_PATTERN
=
Pattern
.
compile
(
"^\\[.*\\]$"
);
static
{
static
{
// 导出时表头
// 导出时表头
NOT_STRIPXSS_KEY_WHITELIST
.
add
(
Constants
.
EXPORT_HEAD
);
NOT_STRIPXSS_KEY_WHITELIST
.
add
(
Constants
.
EXPORT_HEAD
);
...
@@ -145,7 +149,12 @@ public class SDO implements Serializable {
...
@@ -145,7 +149,12 @@ public class SDO implements Serializable {
if
(
StringUtil
.
isBlank
(
jsonStr
))
{
if
(
StringUtil
.
isBlank
(
jsonStr
))
{
return
null
;
return
null
;
}
}
return
JSONUtil
.
toList
(
jsonStr
,
String
.
class
);
jsonStr
=
jsonStr
.
trim
();
if
(
JSON_ARRAY_PATTERN
.
matcher
(
jsonStr
).
matches
())
{
return
JSONUtil
.
toList
(
jsonStr
,
String
.
class
);
}
// 处理逗号分隔模式。
return
Arrays
.
stream
(
StringUtils
.
split
(
jsonStr
,
","
)).
collect
(
Collectors
.
toList
());
}
}
public
List
<
Integer
>
getIntegerList
(
String
key
)
{
public
List
<
Integer
>
getIntegerList
(
String
key
)
{
...
@@ -153,7 +162,13 @@ public class SDO implements Serializable {
...
@@ -153,7 +162,13 @@ public class SDO implements Serializable {
if
(
StringUtil
.
isBlank
(
jsonStr
))
{
if
(
StringUtil
.
isBlank
(
jsonStr
))
{
return
null
;
return
null
;
}
}
return
JSONUtil
.
toList
(
jsonStr
,
Integer
.
class
);
if
(
JSON_ARRAY_PATTERN
.
matcher
(
jsonStr
).
matches
())
{
return
JSONUtil
.
toList
(
jsonStr
,
Integer
.
class
);
}
// 处理逗号分隔模式。
return
Arrays
.
stream
(
StringUtils
.
split
(
jsonStr
,
","
))
.
map
(
Integer:
:
valueOf
)
.
collect
(
Collectors
.
toList
());
}
}
public
Map
<
String
,
Integer
>
getStringMap
(
String
key
)
{
public
Map
<
String
,
Integer
>
getStringMap
(
String
key
)
{
...
...
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/domain/model/org/Person.java
View file @
9d15c8c2
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
domain
.
model
.
org
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
domain
.
model
.
org
;
import
java.util.Date
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.EnumType
;
import
javax.persistence.Enumerated
;
import
javax.persistence.Table
;
import
javax.persistence.Temporal
;
import
javax.persistence.TemporalType
;
import
javax.persistence.Transient
;
import
com.huigou.annotation.JsonIgnore
;
import
com.huigou.annotation.JsonIgnore
;
import
com.huigou.context.SecurityGrade
;
import
com.huigou.data.domain.model.BaseInfoWithTenantAbstractEntity
;
import
com.huigou.data.domain.model.BaseInfoWithTenantAbstractEntity
;
import
com.huigou.domain.ValidStatus
;
import
com.huigou.domain.ValidStatus
;
import
com.huigou.util.Util
;
import
com.huigou.util.Util
;
import
javax.persistence.*
;
import
java.util.Date
;
@Entity
@Entity
@Table
(
name
=
"SA_OPPerson"
)
@Table
(
name
=
"SA_OPPerson"
)
public
class
Person
extends
BaseInfoWithTenantAbstractEntity
{
public
class
Person
extends
BaseInfoWithTenantAbstractEntity
{
...
@@ -188,12 +179,10 @@ public class Person extends BaseInfoWithTenantAbstractEntity {
...
@@ -188,12 +179,10 @@ public class Person extends BaseInfoWithTenantAbstractEntity {
private
Integer
caStatus
;
private
Integer
caStatus
;
@Column
(
name
=
"security_grade_id"
)
@Column
(
name
=
"security_grade_id"
)
@Enumerated
(
EnumType
.
STRING
)
private
String
securityGrade
;
private
SecurityGrade
securityGrade
;
@Column
(
name
=
"person_security_grade_id"
)
@Column
(
name
=
"person_security_grade_id"
)
@Enumerated
(
EnumType
.
STRING
)
private
String
personSecurityGrade
;
private
PersonSecurityGrade
personSecurityGrade
;
private
Integer
sequence
;
private
Integer
sequence
;
...
@@ -432,19 +421,19 @@ public class Person extends BaseInfoWithTenantAbstractEntity {
...
@@ -432,19 +421,19 @@ public class Person extends BaseInfoWithTenantAbstractEntity {
this
.
caStatus
=
caStatus
;
this
.
caStatus
=
caStatus
;
}
}
public
S
ecurityGrade
getSecurityGrade
()
{
public
S
tring
getSecurityGrade
()
{
return
securityGrade
;
return
securityGrade
;
}
}
public
void
setSecurityGrade
(
S
ecurityGrade
securityGrade
)
{
public
void
setSecurityGrade
(
S
tring
securityGrade
)
{
this
.
securityGrade
=
securityGrade
;
this
.
securityGrade
=
securityGrade
;
}
}
public
PersonSecurityGrade
getPersonSecurityGrade
()
{
public
String
getPersonSecurityGrade
()
{
return
personSecurityGrade
;
return
personSecurityGrade
;
}
}
public
void
setPersonSecurityGrade
(
PersonSecurityGrade
personSecurityGrade
)
{
public
void
setPersonSecurityGrade
(
String
personSecurityGrade
)
{
this
.
personSecurityGrade
=
personSecurityGrade
;
this
.
personSecurityGrade
=
personSecurityGrade
;
}
}
...
...
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/domain/model/org/PersonSecurityGrade.java
View file @
9d15c8c2
...
@@ -10,8 +10,12 @@ import com.huigou.util.StringUtil;
...
@@ -10,8 +10,12 @@ import com.huigou.util.StringUtil;
*
*
* @author gongmm
* @author gongmm
*/
*/
@Deprecated
public
enum
PersonSecurityGrade
{
public
enum
PersonSecurityGrade
{
NON_SECRET
(
"NON_SECRET"
,
"非密"
),
COMMON
(
"COMMON"
,
"一般"
),
IMPORTANCE
(
"IMPORTANCE"
,
"重要"
),
CORE
(
"CORE"
,
"核心"
);
NON_SECRET
(
"NON_SECRET"
,
"非密"
),
COMMON
(
"COMMON"
,
"一般"
),
IMPORTANCE
(
"IMPORTANCE"
,
"重要"
),
CORE
(
"CORE"
,
"核心"
);
private
final
String
id
;
private
final
String
id
;
...
...
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/domain/query/OrgQueryModel.java
View file @
9d15c8c2
...
@@ -3,6 +3,7 @@ package com.huigou.uasp.bmp.opm.domain.query;
...
@@ -3,6 +3,7 @@ package com.huigou.uasp.bmp.opm.domain.query;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.ListIterator
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
...
@@ -19,7 +20,7 @@ import com.huigou.util.StringUtil;
...
@@ -19,7 +20,7 @@ import com.huigou.util.StringUtil;
/**
/**
* 组织机构查询模型
* 组织机构查询模型
*
*
* @author gongmm
* @author gongmm
*/
*/
public
class
OrgQueryModel
extends
QueryModel
{
public
class
OrgQueryModel
extends
QueryModel
{
...
@@ -278,6 +279,38 @@ public class OrgQueryModel extends QueryModel {
...
@@ -278,6 +279,38 @@ public class OrgQueryModel extends QueryModel {
}
}
condition
.
append
(
")"
);
condition
.
append
(
")"
);
// 密级
List
<
String
>
securityGrades
=
inputParams
.
getStringList
(
"securityGrade"
);
if
(
securityGrades
!=
null
&&
securityGrades
.
size
()
>
0
)
{
condition
.
append
(
" and (o.org_kind_id='psm' and p.security_grade_id in ("
);
int
i
=
0
;
for
(
ListIterator
<
String
>
ltr
=
securityGrades
.
listIterator
();
ltr
.
hasNext
();
)
{
String
securityGrade
=
ltr
.
next
();
paramName
=
String
.
format
(
"securityGrade%d"
,
i
);
condition
.
append
(
':'
).
append
(
paramName
);
if
(
ltr
.
hasNext
())
{
condition
.
append
(
","
);
}
this
.
putParam
(
paramName
,
securityGrade
);
}
condition
.
append
(
") or o.org_kind_id<>'psm')"
);
}
// 人员等级
List
<
String
>
personSecurityGrades
=
inputParams
.
getStringList
(
"personSecurityGrade"
);
if
(
personSecurityGrades
!=
null
&&
personSecurityGrades
.
size
()
>
0
)
{
condition
.
append
(
" and (o.org_kind_id='psm' and p.person_security_grade_id in ("
);
int
i
=
0
;
for
(
ListIterator
<
String
>
ltr
=
personSecurityGrades
.
listIterator
();
ltr
.
hasNext
();
)
{
String
personSecurityGrade
=
ltr
.
next
();
paramName
=
String
.
format
(
"personSecurityGrade%d"
,
i
);
condition
.
append
(
':'
).
append
(
paramName
);
if
(
ltr
.
hasNext
())
{
condition
.
append
(
","
);
}
this
.
putParam
(
paramName
,
personSecurityGrade
);
}
condition
.
append
(
") or o.org_kind_id<>'psm')"
);
}
this
.
countCondition
.
append
(
condition
);
this
.
countCondition
.
append
(
condition
);
if
(
first
!=
last
)
{
if
(
first
!=
last
)
{
countCondition
.
delete
(
first
,
last
);
countCondition
.
delete
(
first
,
last
);
...
...
huigou-core-impl/src/main/java/com/huigou/uasp/bmp/opm/impl/AuthenticationApplicationImpl.java
View file @
9d15c8c2
...
@@ -29,6 +29,9 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
...
@@ -29,6 +29,9 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
private
AccessApplication
accessApplication
;
private
AccessApplication
accessApplication
;
private
LicenseChecker
licenseChecker
;
@Deprecated
private
static
long
LICESENE_INDEX
=
0
;
private
static
long
LICESENE_INDEX
=
0
;
public
void
setOrgApplication
(
OrgApplication
orgApplication
)
{
public
void
setOrgApplication
(
OrgApplication
orgApplication
)
{
...
@@ -39,8 +42,9 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
...
@@ -39,8 +42,9 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
this
.
accessApplication
=
accessApplication
;
this
.
accessApplication
=
accessApplication
;
}
}
@Deprecated
private
LicenseChecker
getLicenseChecker
()
{
private
LicenseChecker
getLicenseChecker
()
{
return
StandardLicenseChecker
.
getInstance
()
;
return
licenseChecker
;
}
}
@Override
@Override
...
@@ -130,6 +134,7 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
...
@@ -130,6 +134,7 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
return
result
;
return
result
;
}
}
@Deprecated
private
void
checkLicense
()
{
private
void
checkLicense
()
{
if
(
LICESENE_INDEX
>=
500
)
{
if
(
LICESENE_INDEX
>=
500
)
{
String
sql
=
"select count(*) from SA_OnlineSession"
;
String
sql
=
"select count(*) from SA_OnlineSession"
;
...
@@ -169,7 +174,7 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
...
@@ -169,7 +174,7 @@ public class AuthenticationApplicationImpl extends BaseApplication implements Au
throw new ApplicationException("登录出错,错误编码:0001。");
throw new ApplicationException("登录出错,错误编码:0001。");
}
}
*/
*/
checkLicense
();
//
checkLicense();
Person
person
=
this
.
orgApplication
.
loadPersonByLoginName
(
loginName
);
Person
person
=
this
.
orgApplication
.
loadPersonByLoginName
(
loginName
);
if
(
person
==
null
)
{
if
(
person
==
null
)
{
...
...
huigou-core-impl/src/main/java/com/huigou/uasp/bmp/opm/impl/OrgApplicationImpl.java
View file @
9d15c8c2
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
impl
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
impl
;
import
com.huigou.cache.DictUtil
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.Operator
;
import
com.huigou.context.Operator
;
...
@@ -59,6 +60,8 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
...
@@ -59,6 +60,8 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
private
InitPasswordListener
initPasswordListener
;
private
InitPasswordListener
initPasswordListener
;
private
LicenseChecker
licenseChecker
;
public
void
setOrgPropertyDefinitionRepository
(
OrgPropertyDefinitionRepository
orgPropertyDefinitionRepository
)
{
public
void
setOrgPropertyDefinitionRepository
(
OrgPropertyDefinitionRepository
orgPropertyDefinitionRepository
)
{
this
.
orgPropertyDefinitionRepository
=
orgPropertyDefinitionRepository
;
this
.
orgPropertyDefinitionRepository
=
orgPropertyDefinitionRepository
;
}
}
...
@@ -95,13 +98,18 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
...
@@ -95,13 +98,18 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
this
.
initPasswordListener
=
initPasswordListener
;
this
.
initPasswordListener
=
initPasswordListener
;
}
}
public
void
setLicenseChecker
(
LicenseChecker
licenseChecker
)
{
this
.
licenseChecker
=
licenseChecker
;
}
private
String
getQuerySqlByName
(
String
name
)
{
private
String
getQuerySqlByName
(
String
name
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"org"
);
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
QUERY_XML_FILE_PATH
,
"org"
);
return
queryDescriptor
.
getSqlByName
(
name
);
return
queryDescriptor
.
getSqlByName
(
name
);
}
}
@Deprecated
private
LicenseChecker
getLicenseChecker
()
{
private
LicenseChecker
getLicenseChecker
()
{
return
StandardLicenseChecker
.
getInstance
()
;
return
licenseChecker
;
}
}
@Override
@Override
...
@@ -1224,21 +1232,21 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
...
@@ -1224,21 +1232,21 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
@Override
@Override
public
String
insertPerson
(
Person
person
)
{
public
String
insertPerson
(
Person
person
)
{
int
count
=
this
.
personRepository
.
countByStatus
(
ValidStatus
.
ENABLED
.
getId
());
//
int count = this.personRepository.countByStatus(ValidStatus.ENABLED.getId());
boolean
flag
=
true
;
//
boolean flag = true;
try
{
//
try {
// linux 环境下无法取得文件
//
// linux 环境下无法取得文件
flag
=
this
.
getLicenseChecker
().
checkRegistUser
(
count
);
//
flag = this.getLicenseChecker().checkRegistUser(count);
}
catch
(
ExceptionInInitializerError
e1
)
{
//
} catch (ExceptionInInitializerError e1) {
flag
=
true
;
//
flag = true;
}
catch
(
NoClassDefFoundError
e1
)
{
//
} catch (NoClassDefFoundError e1) {
flag
=
true
;
//
flag = true;
}
catch
(
Exception
e1
)
{
//
} catch (Exception e1) {
flag
=
true
;
//
flag = true;
}
//
}
if
(!
flag
)
{
//
if (!flag) {
throw
new
ApplicationException
(
"用户数已超过注册用户数。"
);
//
throw new ApplicationException("用户数已超过注册用户数。");
}
//
}
/*
/*
* Calendar calendar = Calendar.getInstance();
* Calendar calendar = Calendar.getInstance();
* calendar.set(Calendar.YEAR, 2018);
* calendar.set(Calendar.YEAR, 2018);
...
@@ -1274,10 +1282,10 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
...
@@ -1274,10 +1282,10 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
person
.
setIsOperator
(
false
);
person
.
setIsOperator
(
false
);
if
(
person
.
getSecurityGrade
()
!=
null
)
{
if
(
person
.
getSecurityGrade
()
!=
null
)
{
S
tring
personSecurityGradeId
=
person
.
getSecurityGrade
().
getId
(
);
S
ecurityPolicy
securityPolicy
=
this
.
securityPolicyApplication
.
findSecurityGrade
(
person
.
getSecurityGrade
(),
ValidStatus
.
ENABLED
.
getId
()
);
S
ecurityPolicy
securityPolicy
=
this
.
securityPolicyApplication
.
findSecurityGrade
(
personSecurityGradeId
,
ValidStatus
.
ENABLED
.
getId
());
S
tring
securityGradeText
=
DictUtil
.
getDictionaryDetailText
(
"securityGrade"
,
person
.
getSecurityGrade
());
Assert
.
state
(
securityPolicy
!=
null
,
String
.
format
(
"密级“%s”没有设置或启用安全策略。"
,
person
.
getSecurityGrade
().
getDisplayName
()
));
Assert
.
state
(
securityPolicy
!=
null
,
String
.
format
(
"密级“%s”没有设置或启用安全策略。"
,
securityGradeText
));
Assert
.
hasText
(
securityPolicy
.
getInitPassword
(),
String
.
format
(
"安全策略“%s”,初始化密码不能为空。"
,
person
.
getSecurityGrade
().
getDisplayName
()
));
Assert
.
hasText
(
securityPolicy
.
getInitPassword
(),
String
.
format
(
"安全策略“%s”,初始化密码不能为空。"
,
securityGradeText
));
person
.
setPassword
(
Md5Builder
.
getMd5
(
securityPolicy
.
getInitPassword
()));
person
.
setPassword
(
Md5Builder
.
getMd5
(
securityPolicy
.
getInitPassword
()));
}
}
...
@@ -1327,7 +1335,6 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
...
@@ -1327,7 +1335,6 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
* 更新人员状态
* 更新人员状态
*
*
* @param id 人员唯一标识
* @param id 人员唯一标识
* @param version 版本号
* @param fromStatuses 前置状态
* @param fromStatuses 前置状态
* @param toStatus 更新状态
* @param toStatus 更新状态
* @param operateType 操作类型
* @param operateType 操作类型
...
@@ -1446,9 +1453,9 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
...
@@ -1446,9 +1453,9 @@ public class OrgApplicationImpl extends BaseApplication implements OrgApplicatio
if
(
person
.
getSecurityGrade
()
!=
null
)
{
if
(
person
.
getSecurityGrade
()
!=
null
)
{
String
decodedNewPassword
=
new
String
(
Base64
.
decodeBase64
(
newPassword
));
String
decodedNewPassword
=
new
String
(
Base64
.
decodeBase64
(
newPassword
));
S
tring
personSecurityGradeId
=
person
.
getSecurityGrade
().
getId
(
);
S
ecurityPolicy
securityPolicy
=
this
.
securityPolicyApplication
.
findSecurityGrade
(
person
.
getSecurityGrade
(),
ValidStatus
.
ENABLED
.
getId
()
);
S
ecurityPolicy
securityPolicy
=
this
.
securityPolicyApplication
.
findSecurityGrade
(
personSecurityGradeId
,
ValidStatus
.
ENABLED
.
getId
());
S
tring
securityGradeText
=
DictUtil
.
getDictionaryDetailText
(
"securityGrade"
,
person
.
getSecurityGrade
());
Assert
.
state
(
securityPolicy
!=
null
,
String
.
format
(
"密级“%s”没有设置或启用安全策略。"
,
person
.
getSecurityGrade
().
getDisplayName
()
));
Assert
.
state
(
securityPolicy
!=
null
,
String
.
format
(
"密级“%s”没有设置或启用安全策略。"
,
securityGradeText
));
if
(
decodedNewPassword
.
length
()
<
securityPolicy
.
getPasswordMinimumLength
())
{
if
(
decodedNewPassword
.
length
()
<
securityPolicy
.
getPasswordMinimumLength
())
{
throw
new
ApplicationException
(
"新密码长度不能低于"
+
securityPolicy
.
getPasswordMinimumLength
()
+
"位"
);
throw
new
ApplicationException
(
"新密码长度不能低于"
+
securityPolicy
.
getPasswordMinimumLength
()
+
"位"
);
...
...
huigou-core-impl/src/main/java/com/huigou/uasp/bmp/opm/impl/StandardLicenseChecker.java
View file @
9d15c8c2
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
impl
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
impl
;
import
com.huigou.system.common.SystemUtils
;
import
com.huigou.uasp.bmp.opm.LicenseChecker
;
import
com.huigou.uasp.bmp.opm.LicenseChecker
;
import
org.springframework.stereotype.Service
;
@Service
public
class
StandardLicenseChecker
implements
LicenseChecker
{
public
class
StandardLicenseChecker
implements
LicenseChecker
{
static
{
String
fileName
=
SystemUtils
.
normalizeLib
(
"huigou-license"
);
System
.
load
(
fileName
);
StandardLicenseChecker
.
initLicense
();
}
private
static
LicenseChecker
instance
;
public
static
LicenseChecker
getInstance
()
{
if
(
instance
==
null
)
{
synchronized
(
StandardLicenseChecker
.
class
)
{
if
(
instance
==
null
)
{
instance
=
new
StandardLicenseChecker
();
}
}
}
return
instance
;
}
public
static
native
void
initLicense
();
@Override
@Override
public
native
boolean
checkValidTime
();
public
boolean
checkValidTime
()
{
return
true
;
}
@Override
@Override
public
native
boolean
checkOnlineUser
(
int
onlineUser
);
public
boolean
checkOnlineUser
(
int
onlineUser
)
{
return
true
;
}
@Override
@Override
public
native
boolean
checkRegistUser
(
int
registUser
);
public
boolean
checkRegistUser
(
int
registUser
)
{
return
true
;
}
@Override
@Override
public
native
boolean
checkTask
(
int
task
);
public
boolean
checkTask
(
int
task
)
{
return
true
;
}
}
}
huigou-core-proxy/src/main/java/com/huigou/uasp/bmp/opm/proxy/CoreApplicationFactory.java
View file @
9d15c8c2
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
proxy
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
proxy
;
import
javax.annotation.Resource
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.huigou.cache.service.ICache
;
import
com.huigou.cache.service.ICache
;
import
com.huigou.data.jdbc.SQLQuery
;
import
com.huigou.data.jdbc.SQLQuery
;
import
com.huigou.uasp.bmp.opm.LicenseChecker
;
import
com.huigou.uasp.bmp.opm.LicenseChecker
;
import
com.huigou.uasp.bmp.opm.impl.AccessApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.*
;
import
com.huigou.uasp.bmp.opm.impl.AgentApplicationImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.huigou.uasp.bmp.opm.impl.AuthenticationApplicationImpl
;
import
org.springframework.stereotype.Service
;
import
com.huigou.uasp.bmp.opm.impl.ManagementApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.OrgApplicationImpl
;
import
javax.annotation.Resource
;
import
com.huigou.uasp.bmp.opm.impl.OrgTemplateApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.OrgTypeApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.PermissionApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.PermissionBuilderImpl
;
import
com.huigou.uasp.bmp.opm.impl.StandardLicenseChecker
;
import
com.huigou.uasp.bmp.opm.impl.SysFunctionApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.TMAuthorizeApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.TenantApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.UIElementApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.UserGroupApplicationImpl
;
@Service
(
"coreApplicationFactory"
)
@Service
(
"coreApplicationFactory"
)
public
class
CoreApplicationFactory
{
public
class
CoreApplicationFactory
{
...
@@ -76,6 +61,7 @@ public class CoreApplicationFactory {
...
@@ -76,6 +61,7 @@ public class CoreApplicationFactory {
@Autowired
@Autowired
private
UserGroupApplicationProxy
userGroupApplicationProxy
;
private
UserGroupApplicationProxy
userGroupApplicationProxy
;
private
LicenseChecker
licenseChecker
;
private
AccessApplicationImpl
accessApplicationImpl
;
private
AccessApplicationImpl
accessApplicationImpl
;
...
@@ -236,7 +222,7 @@ public class CoreApplicationFactory {
...
@@ -236,7 +222,7 @@ public class CoreApplicationFactory {
}
}
public
LicenseChecker
getLicenseChecker
()
{
public
LicenseChecker
getLicenseChecker
()
{
return
StandardLicenseChecker
.
getInstance
()
;
return
licenseChecker
;
}
}
}
}
huigou-uasp/src/main/java/com/huigou/shiro/realm/StandardRealm.java
View file @
9d15c8c2
package
com
.
huigou
.
shiro
.
realm
;
package
com
.
huigou
.
shiro
.
realm
;
import
java.util.Date
;
import
com.huigou.cache.DictUtil
;
import
java.util.List
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.authc.AuthenticationException
;
import
org.apache.shiro.authc.AuthenticationInfo
;
import
org.apache.shiro.authc.AuthenticationToken
;
import
org.apache.shiro.authc.ExcessiveAttemptsException
;
import
org.apache.shiro.authc.IncorrectCredentialsException
;
import
org.apache.shiro.authc.LockedAccountException
;
import
org.apache.shiro.authc.SimpleAuthenticationInfo
;
import
org.apache.shiro.authz.AuthorizationInfo
;
import
org.apache.shiro.authz.SimpleAuthorizationInfo
;
import
org.apache.shiro.realm.AuthorizingRealm
;
import
org.apache.shiro.session.Session
;
import
org.apache.shiro.subject.PrincipalCollection
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.huigou.context.ContextUtil
;
import
com.huigou.context.ContextUtil
;
import
com.huigou.context.Operator
;
import
com.huigou.context.Operator
;
import
com.huigou.context.SecurityGrade
;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.context.TmspmConifg
;
import
com.huigou.context.TmspmConifg
;
import
com.huigou.data.repository.GeneralRepository
;
import
com.huigou.data.repository.GeneralRepository
;
...
@@ -45,10 +27,21 @@ import com.huigou.util.CommonUtil;
...
@@ -45,10 +27,21 @@ import com.huigou.util.CommonUtil;
import
com.huigou.util.Constants
;
import
com.huigou.util.Constants
;
import
com.huigou.util.GetClientMacAddr
;
import
com.huigou.util.GetClientMacAddr
;
import
com.huigou.util.StringUtil
;
import
com.huigou.util.StringUtil
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.authc.*
;
import
org.apache.shiro.authz.AuthorizationInfo
;
import
org.apache.shiro.authz.SimpleAuthorizationInfo
;
import
org.apache.shiro.realm.AuthorizingRealm
;
import
org.apache.shiro.session.Session
;
import
org.apache.shiro.subject.PrincipalCollection
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
* 平台默认shiro安全处理域
* 平台默认shiro安全处理域
*
*
* @author xx
* @author xx
*/
*/
public
class
StandardRealm
extends
AuthorizingRealm
{
public
class
StandardRealm
extends
AuthorizingRealm
{
...
@@ -73,13 +66,14 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -73,13 +66,14 @@ public class StandardRealm extends AuthorizingRealm {
@Autowired
@Autowired
private
TmspmConifg
tmspmConifg
;
private
TmspmConifg
tmspmConifg
;
@Deprecated
private
static
long
LICESENE_INDEX
=
0
;
private
static
long
LICESENE_INDEX
=
0
;
private
LicenseChecker
getLicenseChecker
()
{
private
LicenseChecker
getLicenseChecker
()
{
return
coreApplicationFactory
.
getLicenseChecker
();
return
coreApplicationFactory
.
getLicenseChecker
();
}
}
@Deprecated
private
void
checkLicense
()
{
private
void
checkLicense
()
{
if
(
LICESENE_INDEX
>=
1000
)
{
if
(
LICESENE_INDEX
>=
1000
)
{
long
onlineUser
=
this
.
loginLogApplication
.
countOnlinePersons
();
long
onlineUser
=
this
.
loginLogApplication
.
countOnlinePersons
();
...
@@ -133,7 +127,7 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -133,7 +127,7 @@ public class StandardRealm extends AuthorizingRealm {
@Override
@Override
protected
AuthenticationInfo
doGetAuthenticationInfo
(
AuthenticationToken
token
)
throws
AuthenticationException
{
protected
AuthenticationInfo
doGetAuthenticationInfo
(
AuthenticationToken
token
)
throws
AuthenticationException
{
checkLicense
();
//
checkLicense();
String
loginName
=
(
String
)
token
.
getPrincipal
();
String
loginName
=
(
String
)
token
.
getPrincipal
();
String
password
=
new
String
((
char
[])
token
.
getCredentials
());
String
password
=
new
String
((
char
[])
token
.
getCredentials
());
// 创建登录用户信息
// 创建登录用户信息
...
@@ -158,10 +152,11 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -158,10 +152,11 @@ public class StandardRealm extends AuthorizingRealm {
throw
ex
;
throw
ex
;
}
}
private
SecurityPolicy
checkSecurityPolicy
(
S
ecurityGrade
securityGrade
)
{
private
SecurityPolicy
checkSecurityPolicy
(
S
tring
securityGrade
)
{
SecurityPolicy
securityPolicy
=
this
.
securityPolicyApplication
.
findSecurityGrade
(
securityGrade
.
getId
()
,
ValidStatus
.
ENABLED
.
getId
());
SecurityPolicy
securityPolicy
=
this
.
securityPolicyApplication
.
findSecurityGrade
(
securityGrade
,
ValidStatus
.
ENABLED
.
getId
());
if
(
securityPolicy
==
null
)
{
if
(
securityPolicy
==
null
)
{
SecurityPolicyException
ex
=
new
SecurityPolicyException
(
String
.
format
(
"安全策略“%s”没有设置或启用,请联系统系管理员。"
,
securityGrade
.
getDisplayName
()));
String
securityGradeText
=
DictUtil
.
getDictionaryDetailText
(
"securityGrade"
,
securityGrade
);
SecurityPolicyException
ex
=
new
SecurityPolicyException
(
String
.
format
(
"安全策略“%s”没有设置或启用,请联系统系管理员。"
,
securityGradeText
));
processAuthenticationException
(
ex
);
processAuthenticationException
(
ex
);
}
}
return
securityPolicy
;
return
securityPolicy
;
...
@@ -169,11 +164,9 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -169,11 +164,9 @@ public class StandardRealm extends AuthorizingRealm {
/**
/**
* 检查账号锁定
* 检查账号锁定
*
*
* @param personAccount
* @param personAccount 人员账号
* 人员账号
* @param securityPolicy 安全策略
* @param securityPolicy
* 安全策略
*/
*/
private
void
checkLockout
(
PersonAccount
personAccount
,
String
password
,
String
inputPassword
,
SecurityPolicy
securityPolicy
)
{
private
void
checkLockout
(
PersonAccount
personAccount
,
String
password
,
String
inputPassword
,
SecurityPolicy
securityPolicy
)
{
Session
session
;
Session
session
;
...
@@ -217,9 +210,8 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -217,9 +210,8 @@ public class StandardRealm extends AuthorizingRealm {
/**
/**
* 检查登录限制
* 检查登录限制
*
*
* @param person
* @param person 人员
* 人员
*/
*/
private
void
checkLoginLimit
(
Person
person
)
{
private
void
checkLoginLimit
(
Person
person
)
{
List
<
PersonLoginLimitDesc
>
personLoginLimits
=
securityPolicyApplication
.
queryPersonLoginLimitsByLoginName
(
person
.
getLoginName
());
List
<
PersonLoginLimitDesc
>
personLoginLimits
=
securityPolicyApplication
.
queryPersonLoginLimitsByLoginName
(
person
.
getLoginName
());
...
@@ -237,7 +229,7 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -237,7 +229,7 @@ public class StandardRealm extends AuthorizingRealm {
allowded
=
true
;
allowded
=
true
;
}
}
if
(
personLoginLimit
.
getMachineIp
().
equals
(
ip
)
&&
StringUtil
.
isNotBlank
(
macAddress
)
if
(
personLoginLimit
.
getMachineIp
().
equals
(
ip
)
&&
StringUtil
.
isNotBlank
(
macAddress
)
&&
personLoginLimit
.
getMachineMacAddress
().
equals
(
macAddress
))
{
&&
personLoginLimit
.
getMachineMacAddress
().
equals
(
macAddress
))
{
allowded
=
true
;
allowded
=
true
;
break
;
break
;
}
}
...
@@ -251,11 +243,9 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -251,11 +243,9 @@ public class StandardRealm extends AuthorizingRealm {
/**
/**
* 检查密码到期
* 检查密码到期
*
*
* @param personAccount
* @param personAccount 人员账号
* 人员账号
* @param securityPolicy 安全策略
* @param securityPolicy
* 安全策略
*/
*/
private
void
checkPasswordExpired
(
PersonAccount
personAccount
,
SecurityPolicy
securityPolicy
)
{
private
void
checkPasswordExpired
(
PersonAccount
personAccount
,
SecurityPolicy
securityPolicy
)
{
Session
session
=
SecurityUtils
.
getSubject
().
getSession
();
Session
session
=
SecurityUtils
.
getSubject
().
getSession
();
...
@@ -285,13 +275,10 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -285,13 +275,10 @@ public class StandardRealm extends AuthorizingRealm {
/**
/**
* 登录用户安全等级校验
* 登录用户安全等级校验
*
*
* @param operator
* @param operator 操作员
* 操作员
* @param person 人员
* @param person
* @param password 密码
* 人员
* @param password
* 密码
*/
*/
protected
void
verifySecurity
(
Operator
operator
,
Person
person
,
String
inputPassword
)
{
protected
void
verifySecurity
(
Operator
operator
,
Person
person
,
String
inputPassword
)
{
if
(
person
.
getSecurityGrade
()
==
null
)
{
if
(
person
.
getSecurityGrade
()
==
null
)
{
...
@@ -303,7 +290,7 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -303,7 +290,7 @@ public class StandardRealm extends AuthorizingRealm {
}
}
PersonAccount
personAccount
=
this
.
securityPolicyApplication
.
loadAndInitPersonAccountByLoginName
(
person
.
getLoginName
(),
PersonAccount
personAccount
=
this
.
securityPolicyApplication
.
loadAndInitPersonAccountByLoginName
(
person
.
getLoginName
(),
operator
.
getFullId
());
operator
.
getFullId
());
SecurityPolicy
securityPolicy
=
this
.
checkSecurityPolicy
(
person
.
getSecurityGrade
());
SecurityPolicy
securityPolicy
=
this
.
checkSecurityPolicy
(
person
.
getSecurityGrade
());
this
.
checkLockout
(
personAccount
,
person
.
getPassword
(),
inputPassword
,
securityPolicy
);
this
.
checkLockout
(
personAccount
,
person
.
getPassword
(),
inputPassword
,
securityPolicy
);
...
@@ -312,8 +299,8 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -312,8 +299,8 @@ public class StandardRealm extends AuthorizingRealm {
}
}
/**
/**
* 创建Operator
* 创建Operator
*
*
* @param loginName
* @param loginName
* @return
* @return
*/
*/
...
@@ -327,7 +314,7 @@ public class StandardRealm extends AuthorizingRealm {
...
@@ -327,7 +314,7 @@ public class StandardRealm extends AuthorizingRealm {
/**
/**
* 登录验证成功将operator 对象写入 subject session
* 登录验证成功将operator 对象写入 subject session
*
*
* @param operator
* @param operator
*/
*/
protected
void
cacheOperator
(
Operator
operator
)
{
protected
void
cacheOperator
(
Operator
operator
)
{
...
...
huigou-uasp/src/main/java/com/huigou/uasp/bmp/securitypolicy/application/impl/SecurityPolicyApplicationImpl.java
View file @
9d15c8c2
package
com
.
huigou
.
uasp
.
bmp
.
securitypolicy
.
application
.
impl
;
package
com
.
huigou
.
uasp
.
bmp
.
securitypolicy
.
application
.
impl
;
import
java.util.List
;
import
com.huigou.cache.DictUtil
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.SecurityGrade
;
import
com.huigou.data.domain.EntityUtil
;
import
com.huigou.data.domain.EntityUtil
;
import
com.huigou.data.domain.model.MessageConstants
;
import
com.huigou.data.domain.model.MessageConstants
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryDescriptor
;
...
@@ -23,6 +15,13 @@ import com.huigou.uasp.bmp.securitypolicy.domain.model.SecurityPolicy;
...
@@ -23,6 +15,13 @@ import com.huigou.uasp.bmp.securitypolicy.domain.model.SecurityPolicy;
import
com.huigou.uasp.bmp.securitypolicy.domain.query.PersonLoginLimitDesc
;
import
com.huigou.uasp.bmp.securitypolicy.domain.query.PersonLoginLimitDesc
;
import
com.huigou.uasp.bmp.securitypolicy.domain.query.SecurityPoliciesQueryRequest
;
import
com.huigou.uasp.bmp.securitypolicy.domain.query.SecurityPoliciesQueryRequest
;
import
com.huigou.uasp.bmp.securitypolicy.repository.SecurityPolicyRepository
;
import
com.huigou.uasp.bmp.securitypolicy.repository.SecurityPolicyRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"securityPolicyApplication"
)
@Service
(
"securityPolicyApplication"
)
public
class
SecurityPolicyApplicationImpl
extends
BaseApplication
implements
SecurityPolicyApplication
{
public
class
SecurityPolicyApplicationImpl
extends
BaseApplication
implements
SecurityPolicyApplication
{
...
@@ -53,8 +52,8 @@ public class SecurityPolicyApplicationImpl extends BaseApplication implements Se
...
@@ -53,8 +52,8 @@ public class SecurityPolicyApplicationImpl extends BaseApplication implements Se
int
count
;
int
count
;
for
(
SecurityPolicy
securityPolicy
:
securityPolicies
)
{
for
(
SecurityPolicy
securityPolicy
:
securityPolicies
)
{
count
=
this
.
securityPolicyRepository
.
countDuplicate
(
securityPolicy
.
getId
(),
securityPolicy
.
getSecurityGrade
(),
status
);
count
=
this
.
securityPolicyRepository
.
countDuplicate
(
securityPolicy
.
getId
(),
securityPolicy
.
getSecurityGrade
(),
status
);
S
ecurityGrade
securityGrade
=
SecurityGrade
.
fromId
(
securityPolicy
.
getSecurityGrade
());
S
tring
securityGradeText
=
DictUtil
.
getDictionaryDetailText
(
"securityGrade"
,
securityPolicy
.
getSecurityGrade
());
EntityUtil
.
isNotDuplicate
(
count
==
0
,
String
.
format
(
"密级“%s”的安全策略,已启用,不能重复启用。"
,
securityGrade
.
getDisplayName
()
));
EntityUtil
.
isNotDuplicate
(
count
==
0
,
String
.
format
(
"密级“%s”的安全策略,已启用,不能重复启用。"
,
securityGrade
Text
));
}
}
}
}
...
...
huigou-uasp/src/main/java/com/huigou/uasp/bpm/FlowBroker.java
View file @
9d15c8c2
...
@@ -1524,6 +1524,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
...
@@ -1524,6 +1524,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
}
}
}
}
@Deprecated
private
void
checkLicense
()
{
private
void
checkLicense
()
{
// if (ProtectionManager.getCount() % 30 == 0) {
// if (ProtectionManager.getCount() % 30 == 0) {
// ProtectionManager.checkPoint(ProtectionManager.getFlowFlag(),
// ProtectionManager.checkPoint(ProtectionManager.getFlowFlag(),
...
@@ -1537,7 +1538,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
...
@@ -1537,7 +1538,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
* @param delegateTask 代理任务
* @param delegateTask 代理任务
*/
*/
protected
void
doCalculateNextProcUnitHandlers
(
DelegateTask
delegateTask
)
{
protected
void
doCalculateNextProcUnitHandlers
(
DelegateTask
delegateTask
)
{
checkLicense
();
//
checkLicense();
String
processDefinitionKey
=
processFun
.
getProcessApprovalDefinitionKey
(
delegateTask
.
getProcessDefinitionId
());
String
processDefinitionKey
=
processFun
.
getProcessApprovalDefinitionKey
(
delegateTask
.
getProcessDefinitionId
());
if
(
getApprovalParameter
().
isQueryAdvanceProcessAction
()
||
getBizAndApprovalData
().
getList
(
PROC_UNIT_HANDLERS
)
!=
null
)
{
if
(
getApprovalParameter
().
isQueryAdvanceProcessAction
()
||
getBizAndApprovalData
().
getList
(
PROC_UNIT_HANDLERS
)
!=
null
)
{
String
nextProcUnitId
=
this
.
getNextProcUnitId
(
delegateTask
);
String
nextProcUnitId
=
this
.
getNextProcUnitId
(
delegateTask
);
...
@@ -1550,7 +1551,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
...
@@ -1550,7 +1551,7 @@ public class FlowBroker extends BaseApplication implements TaskListener, Executi
}
}
protected
void
doCalculateNextProcUnitHandlers
(
DelegateExecution
delegateExecution
)
{
protected
void
doCalculateNextProcUnitHandlers
(
DelegateExecution
delegateExecution
)
{
checkLicense
();
//
checkLicense();
String
processDefinitionKey
=
processFun
.
getProcessApprovalDefinitionKey
(
delegateExecution
.
getProcessDefinitionId
());
String
processDefinitionKey
=
processFun
.
getProcessApprovalDefinitionKey
(
delegateExecution
.
getProcessDefinitionId
());
if
(
getApprovalParameter
().
isQueryAdvanceProcessAction
())
{
if
(
getApprovalParameter
().
isQueryAdvanceProcessAction
())
{
String
nextProcUnitId
=
this
.
getNextProcUnitId
(
delegateExecution
);
String
nextProcUnitId
=
this
.
getNextProcUnitId
(
delegateExecution
);
...
...
huigou-uasp/src/main/java/com/huigou/uasp/log/aspect/BizLogBuilder.java
View file @
9d15c8c2
package
com
.
huigou
.
uasp
.
log
.
aspect
;
package
com
.
huigou
.
uasp
.
log
.
aspect
;
import
java.lang.reflect.Method
;
import
java.util.Date
;
import
java.util.Map
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
com.huigou.cache.ApplicationSystemDesc
;
import
com.huigou.cache.ApplicationSystemDesc
;
import
com.huigou.cache.DictUtil
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.context.ContextUtil
;
import
com.huigou.context.ContextUtil
;
import
com.huigou.context.Operator
;
import
com.huigou.context.Operator
;
import
com.huigou.context.RoleKind
;
import
com.huigou.context.RoleKind
;
import
com.huigou.context.SecurityGrade
;
import
com.huigou.uasp.bmp.securitypolicy.domain.model.Machine
;
import
com.huigou.uasp.bmp.securitypolicy.domain.model.Machine
;
import
com.huigou.uasp.log.annotation.LogInfo
;
import
com.huigou.uasp.log.annotation.LogInfo
;
import
com.huigou.uasp.log.domain.model.BizLog
;
import
com.huigou.uasp.log.domain.model.*
;
import
com.huigou.uasp.log.domain.model.BizLogDetail
;
import
com.huigou.uasp.log.domain.model.LogStatus
;
import
com.huigou.uasp.log.domain.model.LogType
;
import
com.huigou.uasp.log.domain.model.OperationType
;
import
com.huigou.util.StringUtil
;
import
com.huigou.util.StringUtil
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
java.lang.reflect.Method
;
import
java.util.Date
;
import
java.util.Map
;
/**
/**
* 业务日志构造器
* 业务日志构造器
...
@@ -156,7 +151,7 @@ public class BizLogBuilder {
...
@@ -156,7 +151,7 @@ public class BizLogBuilder {
RequiresPermissions
requiresPermissions
=
method
.
getAnnotation
(
RequiresPermissions
.
class
);
RequiresPermissions
requiresPermissions
=
method
.
getAnnotation
(
RequiresPermissions
.
class
);
RoleKind
roleKind
=
BizLogBuilder
.
getRoleKind
(
requiresPermissions
,
operator
,
isEnableTspm
);
RoleKind
roleKind
=
BizLogBuilder
.
getRoleKind
(
requiresPermissions
,
operator
,
isEnableTspm
);
S
ecurityGrade
PersonS
ecurityGrade
=
operator
.
getLoginUser
().
getSecurityGrade
();
S
tring
s
ecurityGrade
=
operator
.
getLoginUser
().
getSecurityGrade
();
bizLog
.
setBeginDate
(
new
Date
());
bizLog
.
setBeginDate
(
new
Date
());
bizLog
.
setRoleKindId
(
roleKind
.
getId
());
bizLog
.
setRoleKindId
(
roleKind
.
getId
());
...
@@ -182,9 +177,10 @@ public class BizLogBuilder {
...
@@ -182,9 +177,10 @@ public class BizLogBuilder {
bizLog
.
setMethodName
(
method
.
getName
());
bizLog
.
setMethodName
(
method
.
getName
());
bizLog
.
setIp
(
ip
);
bizLog
.
setIp
(
ip
);
if
(
PersonSecurityGrade
!=
null
)
{
if
(
securityGrade
!=
null
)
{
bizLog
.
setPersonSecurityLevelId
(
PersonSecurityGrade
.
getId
());
bizLog
.
setPersonSecurityLevelId
(
securityGrade
);
bizLog
.
setPersonSecurityLevelName
(
PersonSecurityGrade
.
getDisplayName
());
String
securityGradeText
=
DictUtil
.
getDictionaryDetailText
(
"securityGrade"
,
securityGrade
);
bizLog
.
setPersonSecurityLevelName
(
securityGradeText
);
}
}
// TODO
// TODO
bizLog
.
setResourceSecurityLevelId
(
""
);
bizLog
.
setResourceSecurityLevelId
(
""
);
...
@@ -192,9 +188,9 @@ public class BizLogBuilder {
...
@@ -192,9 +188,9 @@ public class BizLogBuilder {
if
(
machine
!=
null
)
{
if
(
machine
!=
null
)
{
bizLog
.
setMac
(
machine
.
getMac
());
bizLog
.
setMac
(
machine
.
getMac
());
SecurityGrade
machineSecurityGrade
=
SecurityGrade
.
from
Id
(
machine
.
getSecurityGrade
());
bizLog
.
setMachineSecurityLevel
Id
(
machine
.
getSecurityGrade
());
bizLog
.
setMachineSecurityLevelId
(
machineSecurityGrade
.
getId
());
String
securityGradeText
=
DictUtil
.
getDictionaryDetailText
(
"securityGrade"
,
machine
.
getSecurityGrade
());
bizLog
.
setMachineSecurityLevelName
(
machineSecurityGrade
.
getDisplayName
()
);
bizLog
.
setMachineSecurityLevelName
(
securityGradeText
);
}
}
Map
<
String
,
ApplicationSystemDesc
>
map
=
SystemCache
.
getApplicationSystem
();
Map
<
String
,
ApplicationSystemDesc
>
map
=
SystemCache
.
getApplicationSystem
();
...
...
huigou-xt/src/main/webapp/system/opm/organization/SelectOrgCommonPage.js
View file @
9d15c8c2
...
@@ -219,8 +219,8 @@
...
@@ -219,8 +219,8 @@
showProjectOrg
:
inputParams
.
showProjectOrg
,
showProjectOrg
:
inputParams
.
showProjectOrg
,
showPosition
:
inputParams
.
showPosition
,
showPosition
:
inputParams
.
showPosition
,
customDefinedRoot
:
inputParams
.
customDefinedRoot
,
customDefinedRoot
:
inputParams
.
customDefinedRoot
,
rootIds
:
inputParams
.
rootIds
rootIds
:
inputParams
.
rootIds
,
//sortname: "fullSequence"
//sortname: "fullSequence"
,
},
},
checkbox
:
true
,
checkbox
:
true
,
idFieldName
:
"id"
,
idFieldName
:
"id"
,
...
@@ -245,7 +245,9 @@
...
@@ -245,7 +245,9 @@
displayableOrgKinds
:
inputParams
.
displayableOrgKinds
,
displayableOrgKinds
:
inputParams
.
displayableOrgKinds
,
showDisabledOrg
:
inputParams
.
showDisabledOrg
,
showDisabledOrg
:
inputParams
.
showDisabledOrg
,
showVirtualOrg
:
inputParams
.
showVirtualOrg
,
showVirtualOrg
:
inputParams
.
showVirtualOrg
,
showPosition
:
inputParams
.
showPosition
showPosition
:
inputParams
.
showPosition
,
securityGrade
:
inputParams
.
securityGrade
,
personSecurityGrade
:
inputParams
.
personSecurityGrade
},
function
(
data
)
{
},
function
(
data
)
{
g
.
treeManager
.
append
(
node
.
target
,
data
.
Rows
);
g
.
treeManager
.
append
(
node
.
target
,
data
.
Rows
);
});
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment