Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
5259e6dc
Commit
5259e6dc
authored
Feb 16, 2023
by
ryun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
账户密码登录相关BUG修复
parent
e0d351f1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
75 additions
and
29 deletions
+75
-29
performance/Performance.Api/Controllers/AccountController.cs
+23
-1
performance/Performance.Api/Properties/PublishProfiles/FolderProfile.pubxml
+15
-14
performance/Performance.Api/Util/JwtToken.cs
+1
-0
performance/Performance.Api/wwwroot/Performance.Api.xml
+2
-3
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+15
-5
performance/Performance.EntityModels/Enum.cs
+11
-0
performance/Performance.Services/UserService.cs
+8
-6
No files found.
performance/Performance.Api/Controllers/AccountController.cs
View file @
5259e6dc
...
@@ -49,7 +49,7 @@ public class AccountController : Controller
...
@@ -49,7 +49,7 @@ public class AccountController : Controller
/// {
/// {
/// "logintype": 2,
/// "logintype": 2,
/// "account": "admin",
/// "account": "admin",
/// "password": "
1111
",
/// "password": "
e10adc3949ba59abbe56e057f20f883e
",
/// "appname": "string",
/// "appname": "string",
/// "device": "web"
/// "device": "web"
/// }
/// }
...
@@ -75,6 +75,7 @@ public ApiResponse<JwtToken> Login([FromBody] LoginRequest request)
...
@@ -75,6 +75,7 @@ public ApiResponse<JwtToken> Login([FromBody] LoginRequest request)
new
Claim
(
JwtClaimTypes
.
AppName
,
request
.
AppName
??
""
),
new
Claim
(
JwtClaimTypes
.
AppName
,
request
.
AppName
??
""
),
new
Claim
(
JwtClaimTypes
.
Device
,
request
.
Device
??
""
),
new
Claim
(
JwtClaimTypes
.
Device
,
request
.
Device
??
""
),
new
Claim
(
JwtClaimTypes
.
Department
,
user
.
Department
??
""
),
new
Claim
(
JwtClaimTypes
.
Department
,
user
.
Department
??
""
),
new
Claim
(
JwtClaimTypes
.
QuickLogin
,
EQuickLogin
.
NO
.
ToString
()),
};
};
var
jwtToken
=
JwtTokenHelper
.
GenerateToken
(
claims
,
_options
.
ExpirationMinutes
);
var
jwtToken
=
JwtTokenHelper
.
GenerateToken
(
claims
,
_options
.
ExpirationMinutes
);
...
@@ -104,6 +105,7 @@ public ApiResponse<JwtToken> QuickLogin([FromBody] ResetPwdRequest request)
...
@@ -104,6 +105,7 @@ public ApiResponse<JwtToken> QuickLogin([FromBody] ResetPwdRequest request)
new
Claim
(
JwtClaimTypes
.
AppName
,
request
.
AppName
??
""
),
new
Claim
(
JwtClaimTypes
.
AppName
,
request
.
AppName
??
""
),
new
Claim
(
JwtClaimTypes
.
Device
,
request
.
Device
??
""
),
new
Claim
(
JwtClaimTypes
.
Device
,
request
.
Device
??
""
),
new
Claim
(
JwtClaimTypes
.
Department
,
user
.
Department
??
""
),
new
Claim
(
JwtClaimTypes
.
Department
,
user
.
Department
??
""
),
new
Claim
(
JwtClaimTypes
.
QuickLogin
,
EQuickLogin
.
YES
.
ToString
()),
};
};
var
jwtToken
=
JwtTokenHelper
.
GenerateToken
(
claims
,
_options
.
ExpirationMinutes
);
var
jwtToken
=
JwtTokenHelper
.
GenerateToken
(
claims
,
_options
.
ExpirationMinutes
);
...
@@ -148,6 +150,16 @@ public ApiResponse SelfInfo()
...
@@ -148,6 +150,16 @@ public ApiResponse SelfInfo()
{
{
var
userid
=
_claim
.
GetUserId
();
var
userid
=
_claim
.
GetUserId
();
var
user
=
_userService
.
GetUser
(
userid
);
var
user
=
_userService
.
GetUser
(
userid
);
var
userClaim
=
_claim
.
GetUserClaim
();
// 如果用户是快捷登录的,则不需要重置密码
var
quickLogin
=
userClaim
.
FirstOrDefault
(
t
=>
t
.
Type
==
JwtClaimTypes
.
QuickLogin
)?.
Value
??
""
;
if
(
quickLogin
.
Equals
(
EQuickLogin
.
YES
.
ToString
(),
StringComparison
.
OrdinalIgnoreCase
))
{
user
.
IsInitialPassword
=
(
int
)
InitialPassword
.
修改
;
}
user
.
Role
=
_roleService
.
GetUserRole
(
user
.
UserID
);
user
.
Role
=
_roleService
.
GetUserRole
(
user
.
UserID
);
user
.
Hospital
=
_hospitalService
.
GetUserHopital
(
user
.
UserID
);
user
.
Hospital
=
_hospitalService
.
GetUserHopital
(
user
.
UserID
);
...
@@ -299,6 +311,16 @@ public ApiResponse SelfInfos([FromBody] UserRequest request)
...
@@ -299,6 +311,16 @@ public ApiResponse SelfInfos([FromBody] UserRequest request)
user
.
IsAgainAdmin
=
user
.
Role
!=
null
?
roleArray
.
Contains
(
user
.
Role
.
First
().
Type
??
0
)
:
false
;
user
.
IsAgainAdmin
=
user
.
Role
!=
null
?
roleArray
.
Contains
(
user
.
Role
.
First
().
Type
??
0
)
:
false
;
else
else
user
.
IsAgainAdmin
=
user
.
Role
!=
null
?
roleArray
.
Contains
(
user
.
Role
.
First
(
t
=>
t
.
RoleID
==
request
.
Role
).
Type
??
0
)
:
false
;
user
.
IsAgainAdmin
=
user
.
Role
!=
null
?
roleArray
.
Contains
(
user
.
Role
.
First
(
t
=>
t
.
RoleID
==
request
.
Role
).
Type
??
0
)
:
false
;
var
userClaim
=
_claim
.
GetUserClaim
();
// 如果用户是快捷登录的,则不需要重置密码
var
quickLogin
=
userClaim
.
FirstOrDefault
(
t
=>
t
.
Type
==
JwtClaimTypes
.
QuickLogin
)?.
Value
??
""
;
if
(
quickLogin
.
Equals
(
EQuickLogin
.
YES
.
ToString
(),
StringComparison
.
OrdinalIgnoreCase
))
{
user
.
IsInitialPassword
=
(
int
)
InitialPassword
.
修改
;
}
return
new
ApiResponse
(
ResponseType
.
OK
,
user
);
return
new
ApiResponse
(
ResponseType
.
OK
,
user
);
}
}
...
...
performance/Performance.Api/Properties/PublishProfiles/FolderProfile.pubxml
View file @
5259e6dc
...
@@ -3,18 +3,18 @@
...
@@ -3,18 +3,18 @@
https://go.microsoft.com/fwlink/?LinkID=208121.
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PropertyGroup>
<DeleteExistingFiles>true</DeleteExistingFiles>
<DeleteExistingFiles>true</DeleteExistingFiles>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ExcludeApp_Data>false</ExcludeApp_Data>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>D:\publish\jx
</PublishUrl>
<PublishUrl>bin\Release\net6.0\publish\
</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
<WebPublishMethod>FileSystem</WebPublishMethod>
<SiteUrlToLaunchAfterPublish />
<SiteUrlToLaunchAfterPublish />
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>net5.0</TargetFramework>
<ProjectGuid>3ae00ff5-f0ba-4d72-a23b-770186309327</ProjectGuid>
<ProjectGuid>3ae00ff5-f0ba-4d72-a23b-770186309327</ProjectGuid>
<SelfContained>false</SelfContained>
<SelfContained>false</SelfContained>
</PropertyGroup>
</PropertyGroup>
</Project>
</Project>
\ No newline at end of file
performance/Performance.Api/Util/JwtToken.cs
View file @
5259e6dc
...
@@ -99,6 +99,7 @@ public static class JwtClaimTypes
...
@@ -99,6 +99,7 @@ public static class JwtClaimTypes
public
const
string
AppName
=
"appname"
;
public
const
string
AppName
=
"appname"
;
public
const
string
Device
=
"device"
;
public
const
string
Device
=
"device"
;
public
const
string
Department
=
"department"
;
public
const
string
Department
=
"department"
;
public
const
string
QuickLogin
=
"quicklogin"
;
}
}
public
static
class
Consts
public
static
class
Consts
...
...
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
5259e6dc
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
{
{
"logintype": 2,
"logintype": 2,
"account": "admin",
"account": "admin",
"password": "
1111
",
"password": "
e10adc3949ba59abbe56e057f20f883e
",
"appname": "string",
"appname": "string",
"device": "web"
"device": "web"
}
}
...
@@ -24,11 +24,10 @@
...
@@ -24,11 +24,10 @@
<param
name=
"request"
></param>
<param
name=
"request"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.AccountController.QuickLogin(
System.Int32,
Performance.DtoModels.ResetPwdRequest)"
>
<member
name=
"M:Performance.Api.Controllers.AccountController.QuickLogin(Performance.DtoModels.ResetPwdRequest)"
>
<summary>
<summary>
快速登录
快速登录
</summary>
</summary>
<param
name=
"userId"
>
登录目标用户id
</param>
<param
name=
"request"
></param>
<param
name=
"request"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
5259e6dc
...
@@ -2469,6 +2469,21 @@
...
@@ -2469,6 +2469,21 @@
<member
name=
"P:Performance.DtoModels.ReportRequest.AccountingUnit"
>
<member
name=
"P:Performance.DtoModels.ReportRequest.AccountingUnit"
>
<summary>
科室
</summary>
<summary>
科室
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ResetPwdRequest.Password"
>
<summary>
操作人密码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ResetPwdRequest.CurrentUserId"
>
<summary>
操作人密码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ResetPwdRequest.TargetUserId"
>
<summary>
目标登录人,希望登录的账号ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondAuditRequest.SecondId"
>
<member
name=
"P:Performance.DtoModels.SecondAuditRequest.SecondId"
>
<summary>
二次绩效Id
</summary>
<summary>
二次绩效Id
</summary>
</member>
</member>
...
@@ -2501,11 +2516,6 @@
...
@@ -2501,11 +2516,6 @@
提交类型 1 模板提交 2 其他提交
提交类型 1 模板提交 2 其他提交
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ResetPwdRequest.Password"
>
<summary>
操作人密码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.UserListRequest.Role"
>
<member
name=
"P:Performance.DtoModels.UserListRequest.Role"
>
<summary>
<summary>
角色
角色
...
...
performance/Performance.EntityModels/Enum.cs
View file @
5259e6dc
...
@@ -92,3 +92,14 @@ public enum UnitType
...
@@ -92,3 +92,14 @@ public enum UnitType
[
Description
(
"行政工勤"
)]
[
Description
(
"行政工勤"
)]
行政工勤
=
12
,
行政工勤
=
12
,
}
}
public
enum
InitialPassword
{
初始
=
1
,
修改
=
2
,
}
public
enum
EQuickLogin
{
YES
=
1
,
NO
=
2
,
}
performance/Performance.Services/UserService.cs
View file @
5259e6dc
...
@@ -314,6 +314,7 @@ public UserResponse UpdatePwd(PasswordRequest request, int userId)
...
@@ -314,6 +314,7 @@ public UserResponse UpdatePwd(PasswordRequest request, int userId)
//Md5小写加密
//Md5小写加密
user
.
Password
=
PwdHelper
.
MD5AndSalt
(
request
.
NewPwd
);
user
.
Password
=
PwdHelper
.
MD5AndSalt
(
request
.
NewPwd
);
user
.
IsInitialPassword
=
(
int
)
InitialPassword
.
修改
;
if
(!
_userRepository
.
Update
(
user
))
if
(!
_userRepository
.
Update
(
user
))
throw
new
PerformanceException
(
"保存失败"
);
throw
new
PerformanceException
(
"保存失败"
);
...
@@ -423,7 +424,7 @@ public UserResponse ResetPwd(int userId, int loginUserId, string password)
...
@@ -423,7 +424,7 @@ public UserResponse ResetPwd(int userId, int loginUserId, string password)
//MD5小写加密
//MD5小写加密
user
.
Password
=
PwdHelper
.
MD5AndSalt2
(
AppConst
.
InitPwd
);
user
.
Password
=
PwdHelper
.
MD5AndSalt2
(
AppConst
.
InitPwd
);
user
.
IsInitialPassword
=
1
;
// 初始密码强制修改
user
.
IsInitialPassword
=
(
int
)
InitialPassword
.
初始
;
// 初始密码强制修改
if
(!
_userRepository
.
Update
(
user
))
if
(!
_userRepository
.
Update
(
user
))
throw
new
PerformanceException
(
"重置失败"
);
throw
new
PerformanceException
(
"重置失败"
);
return
_mapper
.
Map
<
UserResponse
>(
user
);
return
_mapper
.
Map
<
UserResponse
>(
user
);
...
@@ -686,7 +687,7 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
...
@@ -686,7 +687,7 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
{
"登录名"
,
allDataList
[
i
].
RealName
??
""
},
{
"登录名"
,
allDataList
[
i
].
RealName
??
""
},
{
"角色"
,
allDataList
[
i
].
RoleName
??
""
},
{
"角色"
,
allDataList
[
i
].
RoleName
??
""
},
{
"分配医院"
,
allDataList
[
i
].
HosName
??
""
},
{
"分配医院"
,
allDataList
[
i
].
HosName
??
""
},
{
"核算单元"
,
allDataList
[
i
].
Department
.
ToString
()
??
""
},
{
"核算单元"
,
allDataList
[
i
].
Department
??
""
},
{
"错误原因"
,
"“关键信息缺失”请补全或删除"
},
{
"错误原因"
,
"“关键信息缺失”请补全或删除"
},
});
});
continue
;
continue
;
...
@@ -700,7 +701,7 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
...
@@ -700,7 +701,7 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
{
"登录名"
,
allDataList
[
i
].
RealName
??
""
},
{
"登录名"
,
allDataList
[
i
].
RealName
??
""
},
{
"角色"
,
allDataList
[
i
].
RoleName
??
""
},
{
"角色"
,
allDataList
[
i
].
RoleName
??
""
},
{
"分配医院"
,
allDataList
[
i
].
HosName
??
""
},
{
"分配医院"
,
allDataList
[
i
].
HosName
??
""
},
{
"核算单元"
,
allDataList
[
i
].
Department
.
ToString
()
??
""
},
{
"核算单元"
,
allDataList
[
i
].
Department
??
""
},
{
"错误原因"
,
"“角色”错误,请修改或删除"
},
{
"错误原因"
,
"“角色”错误,请修改或删除"
},
});
});
}
}
...
@@ -713,7 +714,7 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
...
@@ -713,7 +714,7 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
{
"登录名"
,
allDataList
[
i
].
RealName
??
""
},
{
"登录名"
,
allDataList
[
i
].
RealName
??
""
},
{
"角色"
,
allDataList
[
i
].
RoleName
??
""
},
{
"角色"
,
allDataList
[
i
].
RoleName
??
""
},
{
"分配医院"
,
allDataList
[
i
].
HosName
??
""
},
{
"分配医院"
,
allDataList
[
i
].
HosName
??
""
},
{
"核算单元"
,
allDataList
[
i
].
Department
.
ToString
()
??
""
},
{
"核算单元"
,
allDataList
[
i
].
Department
??
""
},
{
"错误原因"
,
"“分配医院”错误,请修改或删除"
},
{
"错误原因"
,
"“分配医院”错误,请修改或删除"
},
});
});
}
}
...
@@ -773,10 +774,11 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
...
@@ -773,10 +774,11 @@ public ApiResponse SaveUserHandsFlat(UserCollectData request)
UnitCode
=
cts
?.
Code
??
""
,
UnitCode
=
cts
?.
Code
??
""
,
IsDelete
=
1
,
IsDelete
=
1
,
Login
=
data
.
Login
,
Login
=
data
.
Login
,
Password
=
data
?.
Password
??
PwdHelper
.
MD5AndSalt2
(
AppConst
.
InitPwd
),
Password
=
PwdHelper
.
MD5AndSalt2
(
AppConst
.
InitPwd
),
States
=
1
,
States
=
1
,
Mobile
=
data
?.
Mobile
??
""
,
Mobile
=
data
?.
Mobile
??
""
,
Mail
=
data
?.
Mail
??
""
Mail
=
data
?.
Mail
??
""
,
IsInitialPassword
=
(
int
)
InitialPassword
.
初始
,
};
};
users
.
Add
(
user
);
users
.
Add
(
user
);
}
}
...
...
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