diff --git a/src/main/java/com/community/pocket/DemoApplication.java b/src/main/java/com/community/pocket/Run.java similarity index 72% rename from src/main/java/com/community/pocket/DemoApplication.java rename to src/main/java/com/community/pocket/Run.java index c20efdd..9219d11 100644 --- a/src/main/java/com/community/pocket/DemoApplication.java +++ b/src/main/java/com/community/pocket/Run.java @@ -4,10 +4,11 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class DemoApplication { +//应用入口 +public class Run { public static void main(String[] args) { - SpringApplication.run(DemoApplication.class, args); + SpringApplication.run(Run.class, args); } } diff --git a/src/main/java/com/community/pocket/api/ManagerController.java b/src/main/java/com/community/pocket/api/ManagerController.java index 7acdb79..5ec685f 100644 --- a/src/main/java/com/community/pocket/api/ManagerController.java +++ b/src/main/java/com/community/pocket/api/ManagerController.java @@ -17,7 +17,9 @@ import java.util.Date; @RestController @RequestMapping("/api/manager") +//客户端跨域测试 @CrossOrigin("http://localhost:4200") +//管理员接口 public class ManagerController { @Autowired @@ -25,22 +27,25 @@ public class ManagerController { // 登陆 @PostMapping("login") - @ResponseBody public Res login(@RequestBody ManagerLogin managerLogin){ if(StringUtils.isEmpty(managerLogin.getManagerName())){ return new Res<>(Result.FAIL,"管理员不能为空!",null); }else if(StringUtils.isEmpty(managerLogin.getPassword())){ return new Res<>(Result.FAIL,"密码不能为空!",null); + //校验账号密码 }else if(!managerDao.login(managerLogin)){ return new Res<>(Result.FAIL,"账号或密码错误!",null); } else{ +// 验证通过生成令牌响应给服务端 Token token=new Token(); Calendar c=Calendar.getInstance(); c.setTime(new Date()); token.setCreateTime(c.getTimeInMillis()); +// 令牌有效时间1小时 c.add(Calendar.HOUR,1); token.setUseTime(c.getTimeInMillis()); +// 生成token token.setToken(DigestUtils.md5DigestAsHex((token.getCreateTime()+""+token.getUseTime()+"").getBytes())); return new Res<>(Result.OK,"登陆成功",token); } @@ -48,7 +53,6 @@ public class ManagerController { // 注册 @PostMapping("register") - @ResponseBody public Res register(@RequestBody ManagerRegister manager){ if(StringUtils.isEmpty(manager.getManagerName())){ return new Res<>(Result.FAIL,"管理员不能为空",null); @@ -65,6 +69,7 @@ public class ManagerController { }else if(managerDao.hasUser(manager.getManagerName())){ return new Res<>(Result.FAIL,"用户已存在",null); }else{ +// 表单数据转换到管理员实体,调用dao层持久化到数据库 Manager m=new Manager(); m.setManagerName(manager.getManagerName()); m.setPassword(DigestUtils.md5DigestAsHex(manager.getPassword().getBytes())); diff --git a/src/main/java/com/community/pocket/domain/Manager.java b/src/main/java/com/community/pocket/domain/Manager.java index 7637cb2..2c89215 100644 --- a/src/main/java/com/community/pocket/domain/Manager.java +++ b/src/main/java/com/community/pocket/domain/Manager.java @@ -2,6 +2,7 @@ package com.community.pocket.domain; import org.springframework.data.annotation.Id; +//管理员 public class Manager { @Id private String id; @@ -14,6 +15,8 @@ public class Manager { // 邮箱 private String email; + private String a; + public String getId() { return id; } diff --git a/src/main/java/com/community/pocket/domain/Res.java b/src/main/java/com/community/pocket/domain/Res.java index e0118be..8c4dd5b 100644 --- a/src/main/java/com/community/pocket/domain/Res.java +++ b/src/main/java/com/community/pocket/domain/Res.java @@ -2,10 +2,13 @@ package com.community.pocket.domain; import com.community.pocket.Result; +//接口统一返回json响应体 public class Res { -// 响应码 +// 响应结果 private Result result; +// 响应详细结果 private String message; +// 自定义其他响应信息 private T body; public Res() { diff --git a/src/main/java/com/community/pocket/domain/Token.java b/src/main/java/com/community/pocket/domain/Token.java index 927b132..50a4e66 100644 --- a/src/main/java/com/community/pocket/domain/Token.java +++ b/src/main/java/com/community/pocket/domain/Token.java @@ -2,11 +2,15 @@ package com.community.pocket.domain; import org.springframework.data.annotation.Id; +//登陆成功记录的令牌信息 public class Token { @Id private String id; + //令牌 private String token; + //创建时间 private Long createTime; +// 有效时间 private Long useTime; public String getId() { diff --git a/src/main/java/com/community/pocket/repository/ForumRepo.java b/src/main/java/com/community/pocket/repository/ForumRepo.java index ff4c732..e46472a 100644 --- a/src/main/java/com/community/pocket/repository/ForumRepo.java +++ b/src/main/java/com/community/pocket/repository/ForumRepo.java @@ -4,6 +4,7 @@ import com.community.pocket.domain.Forum; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.rest.core.annotation.RepositoryRestResource; +//论坛Restful接口 @RepositoryRestResource public interface ForumRepo extends MongoRepository { } diff --git a/src/main/java/com/community/pocket/repository/ManagerDao.java b/src/main/java/com/community/pocket/repository/ManagerDao.java index 0f0910a..e08a7ed 100644 --- a/src/main/java/com/community/pocket/repository/ManagerDao.java +++ b/src/main/java/com/community/pocket/repository/ManagerDao.java @@ -1,5 +1,6 @@ package com.community.pocket.repository; + import com.community.pocket.domain.Manager; import com.community.pocket.domain.form.ManagerLogin; import org.springframework.beans.factory.annotation.Autowired; @@ -15,10 +16,15 @@ public class ManagerDao { @Autowired private MongoTemplate mongoTemplate; +// 登陆 public boolean login(ManagerLogin managerLogin){ +// 构造查询管理员条件 Criteria criteria=Criteria.where("managerName").is(managerLogin.getManagerName()); + try { +// 查询管理员 Manager manager= mongoTemplate.findOne(new Query(criteria), Manager.class); + //查询出来的管理员非空,并且管理员名和MD5(密码)匹配返回true return manager!=null&&manager.getManagerName().equals(managerLogin.getManagerName())&&manager.getPassword().equals(DigestUtils.md5DigestAsHex(managerLogin.getPassword().getBytes())); } catch (Exception e) { return false; @@ -26,16 +32,18 @@ public class ManagerDao { } - // 查用户 + //查询管理员名字是否已经注册 public boolean hasUser(String name){ try { Manager manager=mongoTemplate.findOne(new Query(Criteria.where("managerName").is(name)),Manager.class); + //非空返回true return manager!=null; } catch (Exception e) { return false; } } +// 保存管理员注册信息 public boolean save(Manager manager){ try { mongoTemplate.save(manager); diff --git a/src/main/java/com/community/pocket/repository/ManagerRepo.java b/src/main/java/com/community/pocket/repository/ManagerRepo.java index c314fe4..f73832f 100644 --- a/src/main/java/com/community/pocket/repository/ManagerRepo.java +++ b/src/main/java/com/community/pocket/repository/ManagerRepo.java @@ -1,9 +1,11 @@ package com.community.pocket.repository; + import com.community.pocket.domain.Manager; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.rest.core.annotation.RepositoryRestResource; +//管理员Restful接口 @RepositoryRestResource public interface ManagerRepo extends MongoRepository { } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 64d7998..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1,3 +0,0 @@ -#spring.data.mongodb.uri=mongodb://localhost:27017/demo -#spring.datasource -#spring.datasource.url=mongodb://localhost:27017/demo \ No newline at end of file diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 32489c0..f76cfdd 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,3 +1,4 @@ +#数据库配置 spring: data: mongodb: