Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
safe-campus-bbs
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
万成波
safe-campus-bbs
Commits
a0f3b82d
Commit
a0f3b82d
authored
Oct 09, 2025
by
万成波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化登录代码
parent
b8553733
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
3 deletions
+48
-3
safe-campus-admin/src/main/java/com/tangguo/web/controller/system/SysLoginController.java
...com/tangguo/web/controller/system/SysLoginController.java
+9
-1
safe-campus-common/src/main/java/com/tangguo/common/core/domain/entity/SysUser.java
...n/java/com/tangguo/common/core/domain/entity/SysUser.java
+14
-0
safe-campus-framework/src/main/java/com/tangguo/framework/security/handle/AuthenticationEntryPointImpl.java
...amework/security/handle/AuthenticationEntryPointImpl.java
+25
-2
No files found.
safe-campus-admin/src/main/java/com/tangguo/web/controller/system/SysLoginController.java
View file @
a0f3b82d
...
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSON;
import
com.tangguo.common.constant.Constants
;
import
com.tangguo.common.core.domain.AjaxResult
;
import
com.tangguo.common.core.domain.entity.SysMenu
;
import
com.tangguo.common.core.domain.entity.SysRole
;
import
com.tangguo.common.core.domain.entity.SysUser
;
import
com.tangguo.common.core.domain.model.LoginBody
;
import
com.tangguo.common.core.domain.model.LoginUser
;
...
...
@@ -125,7 +126,7 @@ public class SysLoginController {
// 企微登录认证链接
String
authCode
=
bo
.
getCode
();
String
baseUrl
=
this
.
serverConfig
.
getUrl
();
String
redirectUrl
=
"http://test.tangguo.ren"
+
"/bbs/h5/pages/login/login/"
;
String
redirectUrl
=
baseUrl
+
"/bbs/h5/pages/login/login/"
;
WxCpOAuth2Service
oauth2Service
=
this
.
wxCpService
.
getOauth2Service
();
if
(
Objects
.
isNull
(
loginUser
)
&&
StrUtil
.
isBlank
(
authCode
))
{
String
oauth2Url
=
oauth2Service
.
buildAuthorizationUrl
(
redirectUrl
,
null
);
...
...
@@ -156,7 +157,14 @@ public class SysLoginController {
*/
@GetMapping
(
"/bbs/mobile/user/profile"
)
public
AjaxResult
getUserProfile
()
{
final
String
bbsAdmin
=
"bbs_admin"
;
SysUser
sysUser
=
SecurityUtils
.
getLoginUser
().
getUser
();
for
(
SysRole
role
:
sysUser
.
getRoles
())
{
if
(
bbsAdmin
.
equals
(
role
.
getRoleKey
()))
{
sysUser
.
setBbsAdmin
(
true
);
break
;
}
}
return
AjaxResult
.
success
(
sysUser
);
}
...
...
safe-campus-common/src/main/java/com/tangguo/common/core/domain/entity/SysUser.java
View file @
a0f3b82d
...
...
@@ -127,6 +127,11 @@ public class SysUser extends BaseEntity {
*/
private
Long
roleId
;
/**
* 是否论坛管理员
*/
private
Boolean
isBbsAdmin
=
Boolean
.
FALSE
;
public
SysUser
()
{
}
...
...
@@ -139,6 +144,15 @@ public class SysUser extends BaseEntity {
return
userId
!=
null
&&
1L
==
userId
;
}
public
boolean
isBbsAdmin
()
{
return
isBbsAdmin
;
}
public
void
setBbsAdmin
(
Boolean
bbsAdmin
)
{
isBbsAdmin
=
bbsAdmin
;
}
public
Long
getUserId
()
{
return
userId
;
}
...
...
safe-campus-framework/src/main/java/com/tangguo/framework/security/handle/AuthenticationEntryPointImpl.java
View file @
a0f3b82d
package
com
.
tangguo
.
framework
.
security
.
handle
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson2.JSON
;
import
com.tangguo.common.constant.HttpStatus
;
import
com.tangguo.common.core.domain.AjaxResult
;
import
com.tangguo.common.utils.ServletUtils
;
import
com.tangguo.common.utils.StringUtils
;
import
com.tangguo.framework.config.ServerConfig
;
import
me.chanjar.weixin.cp.api.WxCpOAuth2Service
;
import
me.chanjar.weixin.cp.api.WxCpService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.AuthenticationException
;
import
org.springframework.security.web.AuthenticationEntryPoint
;
import
org.springframework.stereotype.Component
;
...
...
@@ -13,6 +18,7 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
* 认证失败处理类 返回未授权
...
...
@@ -23,11 +29,28 @@ import java.io.Serializable;
public
class
AuthenticationEntryPointImpl
implements
AuthenticationEntryPoint
,
Serializable
{
private
static
final
long
serialVersionUID
=
-
8970718410437077606L
;
@Autowired
private
WxCpService
wxCpService
;
@Autowired
private
ServerConfig
serverConfig
;
@Override
public
void
commence
(
HttpServletRequest
request
,
HttpServletResponse
response
,
AuthenticationException
e
)
throws
IOException
{
String
uri
=
request
.
getRequestURI
();
int
code
=
HttpStatus
.
UNAUTHORIZED
;
String
msg
=
StringUtils
.
format
(
"请求访问:{},认证失败,无法访问系统资源"
,
request
.
getRequestURI
());
ServletUtils
.
renderString
(
response
,
JSON
.
toJSONString
(
AjaxResult
.
error
(
code
,
msg
)));
if
(
uri
.
startsWith
(
"/bbs/mobile"
))
{
String
baseUrl
=
this
.
serverConfig
.
getUrl
();
String
redirectUrl
=
baseUrl
+
"/bbs/h5/pages/login/login/"
;
WxCpOAuth2Service
oauth2Service
=
this
.
wxCpService
.
getOauth2Service
();
String
oauth2Url
=
oauth2Service
.
buildAuthorizationUrl
(
redirectUrl
,
null
);
ServletUtils
.
renderString
(
response
,
JSON
.
toJSONString
(
AjaxResult
.
error
(
401
,
"身份认证失败"
,
oauth2Url
)));
}
else
{
String
msg
=
StringUtils
.
format
(
"请求访问:{},认证失败,无法访问系统资源"
,
uri
);
ServletUtils
.
renderString
(
response
,
JSON
.
toJSONString
(
AjaxResult
.
error
(
code
,
msg
)));
}
}
}
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