Compare commits
	
		
			3 Commits
		
	
	
		
			86516dc98e
			...
			88d4039ff7
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 88d4039ff7 | |
|  | c64f52ed19 | |
|  | 4aabb57ff9 | 
|  | @ -19,7 +19,7 @@ type bootstrap struct { | |||
| // =========================================================
 | ||||
| 
 | ||||
| type iris struct { | ||||
| 	Session session `yaml:"iris"` | ||||
| 	Session session `yaml:"session"` | ||||
| } | ||||
| 
 | ||||
| type session struct { | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ iris: | |||
|     session: | ||||
|         address: localhost:6379 | ||||
|         db: 0 | ||||
|         prefix: iris:session | ||||
|         prefix: "iris:session:" | ||||
|         expires: 10 | ||||
| database: | ||||
|     sqlite: | ||||
|  | @ -11,4 +11,4 @@ database: | |||
|         filePath: ./db_file.db | ||||
|     redis: | ||||
|         addr: localhost:6379 | ||||
|         db: 1 | ||||
|         db: 0 | ||||
|  |  | |||
|  | @ -1,13 +1,12 @@ | |||
| package adm_controller | ||||
| 
 | ||||
| import ( | ||||
| 	"Blog/internal/model" | ||||
| 	"Blog/internal/model/result" | ||||
| 	"Blog/internal/utils" | ||||
| 
 | ||||
| 	"github.com/kataras/iris/v12" | ||||
| 	"github.com/kataras/iris/v12/mvc" | ||||
| 	"github.com/kataras/iris/v12/sessions" | ||||
| 	"github.com/mitchellh/mapstructure" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| ) | ||||
| 
 | ||||
|  | @ -21,10 +20,8 @@ type AdminController struct { | |||
| 
 | ||||
| func (ctrl *AdminController) Get() { | ||||
| 	session := ctrl.Session | ||||
| 	var userMap map[string]any | ||||
| 	if err := session.Decode("user", &userMap); err == nil { | ||||
| 		var user model.SysUser | ||||
| 		mapstructure.Decode(userMap, &user) | ||||
| 	user := utils.SessionUtil.GetUser(session) | ||||
| 	if user.Id != "" { | ||||
| 		logrus.Info("[", user.Username, "]进入后台管理") | ||||
| 	} | ||||
| 	ctrl.Ctx.View("/admin/index.html") | ||||
|  |  | |||
|  | @ -129,7 +129,7 @@ func (ctrl *LoginController) Post() { | |||
| 	session.Man.Destroy(ctrl.Ctx) | ||||
| 	newSession := session.Man.Start(ctrl.Ctx) | ||||
| 	newSession.Set("user", user) | ||||
| 	ctrl.Ctx.SetCookieKV("session_id_cookie", newSession.ID()) | ||||
| 	ctrl.Ctx.SetCookieKV("session_id_cookie", newSession.ID(), iris.CookieAllowSubdomains("www")) | ||||
| 
 | ||||
| 	xFrowardedFor := ctrl.Ctx.GetHeader("X-Forwarded-For") | ||||
| 	logrus.Info("用户:", user.Username, "登录,IP为:", xFrowardedFor) | ||||
|  |  | |||
|  | @ -66,7 +66,7 @@ func (ctrl *ArticleController) GetLatest() { | |||
| func (ctrl *ArticleController) ViewArticle() { | ||||
| 	articleId := ctrl.Ctx.Params().Get("id") | ||||
| 	article := service.ArticleService.GetArticle(articleId) | ||||
| 	if article.Id == "" { | ||||
| 	if article == nil || article.State != consts.ARTICLE_STATE_PUBLISH { | ||||
| 		ctrl.Ctx.View("404.html") | ||||
| 		return | ||||
| 	} | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ import ( | |||
| 	"Blog/internal/controller/adm_controller" | ||||
| 	"Blog/internal/controller/cli_controller" | ||||
| 	"Blog/internal/middleware" | ||||
| 	"Blog/internal/utils" | ||||
| 	"net/http" | ||||
| 	"time" | ||||
| 
 | ||||
|  | @ -54,6 +55,17 @@ func Router() { | |||
| 		m.Party("/diary").Handle(new(cli_controller.DiaryController)) | ||||
| 		m.Party("/file").Handle(new(cli_controller.FileController)) | ||||
| 		m.Party("/admin/login").Handle(new(adm_controller.LoginController)) | ||||
| 		m.Router.Get("/logout", func(ctx iris.Context) { | ||||
| 			session := sessions.Get(ctx) | ||||
| 			user := utils.SessionUtil.GetUser(session) | ||||
| 			if user.Id != "" { | ||||
| 				logrus.Info("[", user.Username, "]退出登录,清除Session") | ||||
| 				session.Man.Destroy(ctx) | ||||
| 				ctx.Redirect("") | ||||
| 				return | ||||
| 			} | ||||
| 			logrus.Error("当前用户没有登录状态,无法退出登录") | ||||
| 		}) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ func (repository *baseRep[T]) GetById(id string) (ret *T) { | |||
| 	logrus.Debug("执行的SQL:", sql) | ||||
| 	err := repository.Table(repository.TableName).First(ret, "id = ?", id).Error | ||||
| 	if err != nil { | ||||
| 		logrus.Info(err) | ||||
| 		logrus.Error(err) | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -49,7 +49,9 @@ func (*articleService) GetArticle(id string) *model.BlogArticle { | |||
| 	if err != nil { | ||||
| 		logrus.Infoln(id, "文章的缓存不存在,读取数据库") | ||||
| 		ret = repository.ArticleRepository.GetById(id) | ||||
| 		client.RedisClient.Set(context.Background(), key, ret, time.Duration(0)) | ||||
| 		if ret != nil { | ||||
| 			client.RedisClient.Set(context.Background(), key, ret, time.Duration(0)) | ||||
| 		} | ||||
| 	} | ||||
| 	return ret | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue