Skip to content

Commit 3dc0aa8

Browse files
committed
增加多环境配置,用户登录,跨域设置
1 parent 4a4b2b0 commit 3dc0aa8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+748
-235
lines changed

admin-api/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
<artifactId>spring-boot-starter-aop</artifactId>
2424
</dependency>
2525

26+
<dependency>
27+
<groupId>org.springframework.boot</groupId>
28+
<artifactId>spring-boot-configuration-processor</artifactId>
29+
<optional>true</optional>
30+
</dependency>
31+
2632
<dependency>
2733
<groupId>org.mybatis.spring.boot</groupId>
2834
<artifactId>mybatis-spring-boot-starter</artifactId>

admin-api/src/main/java/com/lmxdawn/admin/aspect/AdminAuthorizeAspect.java

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,16 @@
2626
@Slf4j
2727
public class AdminAuthorizeAspect {
2828
@Pointcut("@annotation(com.lmxdawn.admin.annotation.AdminAuthRuleAnnotation)")
29-
public void adminAuthVerify() {}
29+
public void adminLoginVerify() {
30+
}
3031

31-
@Before("adminAuthVerify()")
32+
/**
33+
* 登录验证
34+
* @param joinPoint
35+
*/
36+
@Before("adminLoginVerify()")
3237
public void doAdminAuthVerify(JoinPoint joinPoint) {
3338

34-
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
35-
//从切面中获取当前方法
36-
Method method = signature.getMethod();
37-
//得到了方,提取出他的注解
38-
AdminAuthRuleAnnotation action = method.getAnnotation(AdminAuthRuleAnnotation.class);
39-
System.out.println(action.value());
40-
4139
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
4240
if (attributes == null) {
4341
throw new JsonException(ResultEnum.NOT_NETWORK);
@@ -56,6 +54,26 @@ public void doAdminAuthVerify(JoinPoint joinPoint) {
5654
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
5755
}
5856

57+
// 判断是否进行权限验证
58+
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
59+
//从切面中获取当前方法
60+
Method method = signature.getMethod();
61+
//得到了方,提取出他的注解
62+
AdminAuthRuleAnnotation action = method.getAnnotation(AdminAuthRuleAnnotation.class);
63+
// 如果不为空则进行权限验证
64+
if (!action.value().equals("")) {
65+
System.out.println(action.value());
66+
authRuleVerify(action.value());
67+
}
68+
69+
}
5970

71+
/**
72+
* 权限验证
73+
* @param authRule
74+
*/
75+
private void authRuleVerify(String authRule) {
76+
throw new JsonException(ResultEnum.AUTH_FAILED);
6077
}
78+
6179
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.lmxdawn.admin.config;
2+
3+
import lombok.Data;
4+
import org.springframework.boot.context.properties.ConfigurationProperties;
5+
import org.springframework.context.annotation.Configuration;
6+
7+
/**
8+
* 跨域配置
9+
*/
10+
@Data
11+
@Configuration
12+
@ConfigurationProperties(prefix = "cors")
13+
public class CorsConfig {
14+
15+
// 允许的域
16+
private String allowedOrigins;
17+
// 允许的方法
18+
private String allowedMethods;
19+
// 允许的头信息
20+
private String allowedHeaders;
21+
22+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.lmxdawn.admin.config;
2+
3+
import org.springframework.boot.context.properties.ConfigurationProperties;
4+
import org.springframework.context.annotation.Configuration;
5+
6+
/**
7+
* 公共文件的配置
8+
*/
9+
10+
@Configuration
11+
@ConfigurationProperties(prefix = "public-file")
12+
public class PublicFileUrlConfig {
13+
14+
/**
15+
* 上传的地址
16+
*/
17+
private static String uploadUrl;
18+
19+
public void setUploadUrl(String uploadUrl) {
20+
PublicFileUrlConfig.uploadUrl = uploadUrl;
21+
}
22+
23+
public static String getUploadUrl() {
24+
return uploadUrl;
25+
}
26+
27+
/**
28+
* 资源的域名
29+
*/
30+
private static String domain;
31+
32+
public void setDomain(String domain) {
33+
PublicFileUrlConfig.domain = domain;
34+
}
35+
36+
public static String getDomain() {
37+
return domain;
38+
}
39+
}

admin-api/src/main/java/com/lmxdawn/admin/controller/HelloController.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.lmxdawn.admin.controller;
22

3-
import com.github.pagehelper.PageInfo;
43
import com.lmxdawn.admin.entity.AuthAdmin;
5-
import com.lmxdawn.admin.service.AuthAdminService;
4+
import com.lmxdawn.admin.service.admin.AuthAdminService;
65
import com.lmxdawn.admin.utils.ResultVOUtil;
76
import com.lmxdawn.admin.vo.PageSimpleVO;
87
import com.lmxdawn.admin.vo.ResultVO;

admin-api/src/main/java/com/lmxdawn/admin/controller/admin/auth/LoginController.java

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,99 +3,92 @@
33
import com.lmxdawn.admin.annotation.AdminAuthRuleAnnotation;
44
import com.lmxdawn.admin.entity.AuthAdmin;
55
import com.lmxdawn.admin.enums.ResultEnum;
6-
import com.lmxdawn.admin.form.LoginForm;
7-
import com.lmxdawn.admin.service.AuthAdminService;
8-
import com.lmxdawn.admin.utils.JwtUtil;
9-
import com.lmxdawn.admin.utils.PasswordUtil;
6+
import com.lmxdawn.admin.exception.JsonException;
7+
import com.lmxdawn.admin.form.admin.LoginForm;
8+
import com.lmxdawn.admin.form.admin.UpdatePasswordForm;
9+
import com.lmxdawn.admin.service.admin.AuthAdminService;
10+
import com.lmxdawn.admin.service.admin.AuthLoginService;
1011
import com.lmxdawn.admin.utils.ResultVOUtil;
1112
import com.lmxdawn.admin.vo.ResultVO;
1213
import lombok.extern.slf4j.Slf4j;
1314
import org.springframework.beans.factory.annotation.Autowired;
1415
import org.springframework.validation.BindingResult;
1516
import org.springframework.web.bind.annotation.GetMapping;
1617
import org.springframework.web.bind.annotation.PostMapping;
17-
import org.springframework.web.bind.annotation.RequestMapping;
18+
import org.springframework.web.bind.annotation.RequestBody;
1819
import org.springframework.web.bind.annotation.RestController;
1920

2021
import javax.servlet.http.HttpServletRequest;
2122
import javax.validation.Valid;
22-
import java.util.Arrays;
23-
import java.util.HashMap;
24-
import java.util.Map;
2523

2624
/**
2725
* 登录相关
2826
*/
2927
@RestController
30-
@RequestMapping("/admin/auth/login")
3128
@Slf4j
3229
public class LoginController {
3330

3431
@Autowired
35-
private AuthAdminService authAdminService;
32+
private AuthLoginService authLoginService;
3633

3734
/**
3835
* 用户登录
3936
* @return
4037
*/
41-
@PostMapping(value = "/index")
42-
public ResultVO index(@Valid LoginForm loginForm,
38+
@PostMapping(value = "/admin/auth/login/index")
39+
public ResultVO index(@RequestBody @Valid LoginForm loginForm,
4340
BindingResult bindingResult) {
4441
if (bindingResult.hasErrors()) {
45-
return ResultVOUtil.error(ResultEnum.PARAM_VERIFY_FALL.getCode(),
46-
bindingResult.getFieldError().getDefaultMessage());
42+
return ResultVOUtil.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
4743
}
4844

49-
AuthAdmin authAdmin = authAdminService.findByUserName(loginForm.getUsername());
50-
if (authAdmin == null) {
51-
return ResultVOUtil.error(ResultEnum.DATA_NOT, "用户名或密码错误");
52-
}
53-
54-
if (!PasswordUtil.authAdminPwd(loginForm.getPwd()).equals(authAdmin.getPassword())) {
55-
return ResultVOUtil.error(ResultEnum.DATA_NOT, "用户名或密码错误");
56-
}
57-
58-
Map<String, Object> claims = new HashMap<>();
59-
claims.put("admin_id", authAdmin.getId());
60-
String token = JwtUtil.createToken(claims, 86400L); // 一天后过期
61-
62-
log.info("用户信息: " + authAdmin.toString());
63-
Map<String, Object> map = new HashMap<>();
64-
map.put("id", authAdmin.getId());
65-
map.put("token", token);
66-
return ResultVOUtil.success(map);
45+
return ResultVOUtil.success(authLoginService.loginToken(loginForm));
6746
}
6847

6948
/**
7049
* 获取登录用户信息
7150
* @return
7251
*/
73-
@AdminAuthRuleAnnotation("admin/auth/login/userInfo")
74-
@GetMapping("/userInfo")
75-
public ResultVO userInfo(String[] str, HttpServletRequest request) {
52+
@AdminAuthRuleAnnotation("")
53+
@GetMapping("/admin/auth/login/userInfo")
54+
public ResultVO userInfo(HttpServletRequest request) {
7655
String adminId = request.getHeader("X-Adminid");
7756
Long id = Long.valueOf(adminId);
78-
System.out.println(Arrays.toString(str));
79-
AuthAdmin authAdmin = authAdminService.findById(id);
8057

81-
82-
return null;
58+
return ResultVOUtil.success(authLoginService.findByAdminId(id));
8359
}
8460

8561
/**
8662
* 登出
8763
* @return
8864
*/
65+
@AdminAuthRuleAnnotation("")
66+
@PostMapping("/admin/auth/login/out")
8967
public ResultVO out(){
90-
return null;
68+
return ResultVOUtil.success();
9169
}
9270

9371
/**
9472
* 修改密码
9573
* @return
9674
*/
97-
public ResultVO password() {
98-
return null;
75+
@AdminAuthRuleAnnotation("")
76+
@PostMapping("/admin/auth/login/password")
77+
public ResultVO password(@Valid UpdatePasswordForm updatePasswordForm,
78+
BindingResult bindingResult) {
79+
80+
if (bindingResult.hasErrors()) {
81+
return ResultVOUtil.error(ResultEnum.PARAM_VERIFY_FALL.getCode(),
82+
bindingResult.getFieldError().getDefaultMessage());
83+
}
84+
85+
boolean b = authLoginService.updatePassword(updatePasswordForm);
86+
87+
if (b) {
88+
return ResultVOUtil.success();
89+
}
90+
91+
return ResultVOUtil.error(ResultEnum.DATA_CHANGE);
9992
}
10093

10194
}

admin-api/src/main/java/com/lmxdawn/admin/dao/AuthPermissionDao.java

Lines changed: 0 additions & 40 deletions
This file was deleted.

admin-api/src/main/java/com/lmxdawn/admin/dao/AuthPermissionRuleDao.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)