package Router
import (
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"go-service/src/Controller"
"time"
)
func StartRouter() {
router := gin.Default()
// 配置跨域
router.Use(cors.New(cors.Config{
AllowOrigins: []string{"http://localhost:8080"},
AllowMethods: []string{"PUT", "PATCH", "POST", "GET", "DELETE"},
AllowHeaders: []string{"Origin", "Authorization", "Content-Type", "X-Access-Token"},
ExposeHeaders: []string{"Content-Type"},
AllowCredentials: true,
AllowOriginFunc: func(origin string) bool {
return true
},
MaxAge: 12 * time.Hour,
}))
// 路由配置
configRoute(router)
router.Run(":8082")
}
func configRoute(this *gin.Engine) {
og := this.Group("og")
{
og.POST("/user/login", Controller.UserControl.Login)
}
loop := this.Group("go")
// 增加请求拦截,判断身份
loop.Use(AuthRequired())
{
loop.POST("/user/changePwd", Controller.UserControl.ChangePwd)
loop.POST("/user/list", Controller.UserControl.UserList)
loop.POST("/user/edit", Controller.UserControl.UserEdit)
loop.POST("/user/del", Controller.UserControl.UserDel)
}
}
func AuthRequired() gin.HandlerFunc {
return func(c *gin.Context) {
// 根据token判断身份信息
_, err := Controller.GetCurUserinfo(c)
if err != nil {
c.Abort()
}
c.Next()
}
}
GIN试玩:开启HTTP服务以及路由配置
最新推荐文章于 2025-03-12 20:55:38 发布
本文介绍了一个使用Go语言构建的服务端应用中的路由配置及权限验证实现方式。通过gin框架进行服务搭建,并设置跨域访问策略,实现了用户登录、密码修改、用户列表获取等功能,并通过中间件对敏感操作进行了权限验证。

1299

被折叠的 条评论
为什么被折叠?



