Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-04-21 18:30:14 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-04-21 18:30:14 +0300
commitb0f974a94db8508c7c77db18c89cd0ef3497f879 (patch)
tree74bc894455da45eab58a051a81b1ae320ea09254 /web/controller/index.go
parent6bebde410529c068b2458ee21a03127728a8c6ae (diff)
secret token thanks to @HarlyquinForest
Diffstat (limited to 'web/controller/index.go')
-rw-r--r--web/controller/index.go21
1 files changed, 16 insertions, 5 deletions
diff --git a/web/controller/index.go b/web/controller/index.go
index b4f981e8..c19ee799 100644
--- a/web/controller/index.go
+++ b/web/controller/index.go
@@ -11,15 +11,17 @@ import (
)
type LoginForm struct {
- Username string `json:"username" form:"username"`
- Password string `json:"password" form:"password"`
+ Username string `json:"username" form:"username"`
+ Password string `json:"password" form:"password"`
+ LoginSecret string `json:"loginSecret" form:"loginSecret"`
}
type IndexController struct {
BaseController
- userService service.UserService
- tgbot service.Tgbot
+ settingService service.SettingService
+ userService service.UserService
+ tgbot service.Tgbot
}
func NewIndexController(g *gin.RouterGroup) *IndexController {
@@ -32,6 +34,7 @@ func (a *IndexController) initRouter(g *gin.RouterGroup) {
g.GET("/", a.index)
g.POST("/login", a.login)
g.GET("/logout", a.logout)
+ g.POST("/getSecretStatus", a.getSecretStatus)
}
func (a *IndexController) index(c *gin.Context) {
@@ -57,7 +60,7 @@ func (a *IndexController) login(c *gin.Context) {
pureJsonMsg(c, false, I18n(c, "pages.login.toasts.emptyPassword"))
return
}
- user := a.userService.CheckUser(form.Username, form.Password)
+ user := a.userService.CheckUser(form.Username, form.Password, form.LoginSecret)
timeStr := time.Now().Format("2006-01-02 15:04:05")
if user == nil {
a.tgbot.UserLoginNotify(form.Username, getRemoteIp(c), timeStr, 0)
@@ -82,3 +85,11 @@ func (a *IndexController) logout(c *gin.Context) {
session.ClearSession(c)
c.Redirect(http.StatusTemporaryRedirect, c.GetString("base_path"))
}
+
+func (a *IndexController) getSecretStatus(c *gin.Context) {
+ status, err := a.settingService.GetSecretStatus()
+ if err == nil {
+ jsonObj(c, status, nil)
+ }
+
+}