• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang gin.BasicAuth函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/gin-gonic/gin.BasicAuth函数的典型用法代码示例。如果您正苦于以下问题:Golang BasicAuth函数的具体用法?Golang BasicAuth怎么用?Golang BasicAuth使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了BasicAuth函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Serve

func Serve(address, dbpath string) {

	DBInit(dbpath)
	AccountsInit()
	route := gin.Default()
	route.GET("/", Index)
	route.LoadHTMLGlob("templates/*.html")

	product := route.Group("/product", gin.BasicAuth(ACCOUNT))
	{
		product.GET(":id", getProduct)
		product.GET("", queryProduct)
		product.POST("", updateProduct)
		product.POST(":id", updateProduct)
		product.DELETE(":id", deleteProduct)
	}

	series := route.Group("/series", gin.BasicAuth(ACCOUNT))
	{
		series.POST("", addSeries)
	}

	validate := route.Group("/v")
	{
		validate.GET(":id", getSerie)
		validate.POST(":id", claimSerie)
	}

	route.Static("/static", "static")
	route.Static("/asset", "asset")
	route.Run(address)
}
开发者ID:mengzhuo,项目名称:minishop,代码行数:32,代码来源:main.go


示例2: main

func main() {
	r := gin.Default()

	// Group using gin.BasicAuth() middleware
	// gin.Accounts is a shortcut for map[string]string
	authorized := r.Group("/admin", gin.BasicAuth(gin.Accounts{
		"foo":    "bar",
		"austin": "1234",
		"lena":   "hello2",
		"manu":   "4321",
	}))

	// /admin/secrets endpoint
	// hit "localhost:8080/admin/secrets
	authorized.GET("/secrets", func(c *gin.Context) {
		// get user, it was setted by the BasicAuth middleware
		user := c.MustGet(gin.AuthUserKey).(string)
		if secret, ok := secrets[user]; ok {
			c.JSON(http.StatusOK, gin.H{"user": user, "secret": secret})
		} else {
			c.JSON(http.StatusOK, gin.H{"user": user, "secret": "NO SECRET :("})
		}
	})

	// Listen and server on 0.0.0.0:8080
	r.Run(":8080")
}
开发者ID:wd1900,项目名称:blogByGin,代码行数:27,代码来源:main.go


示例3: startHTTP

func startHTTP() {
	log.Printf("Starting server on %s", gConfig.Host)

	router := gin.Default()
	if gConfig.HasAuth() {
		router.Use(gin.BasicAuth(gin.Accounts{gConfig.UI.Username: gConfig.UI.Password}))
	}
	router.Use(gitserverHandler())

	if gConfig.EnableCORS {
		router.Use(corsHandler())
	}

	if !gConfig.UI.DisableUI {
		router.StaticFS(gConfig.Repos.Path, http.Dir("./public/"))
	}
	router.GET("/", handler)

	api.SetupRouter(router)

	if einhorn.IsRunning() {
		einhorn.Start(router, 0)
	} else {
		router.Run(gConfig.Host)
	}
}
开发者ID:dcu,项目名称:git-http-server,代码行数:26,代码来源:git-http-server.go


示例4: main

func main() {
	flag.Parse()
	if showv {
		showVersion()
		return
	}

	appConfig, err := config.LoadAppConfig(conf)
	if err != nil {
		fmt.Printf("config load err: %s\n", err)
		os.Exit(-1)
	}

	if !debug {
		gin.SetMode(gin.ReleaseMode)
	}
	r := gin.Default()
	r.Static("/assets", "./ui/assets")
	r.LoadHTMLGlob("ui/templates/*")
	r.Use(appConfigMiddleware(appConfig))

	if appConfig.Basic_auth.On {
		r.Use(gin.BasicAuth(gin.Accounts{appConfig.Basic_auth.Username: appConfig.Basic_auth.Password}))
	}

	r.GET("/", controller.Home)
	r.GET("/node", controller.Node)
	r.GET("/cluster", controller.Cluster)
	r.POST("/do", controller.Do)

	r.Run(listen)
}
开发者ID:youngsterxyf,项目名称:memcached-ui,代码行数:32,代码来源:mu.go


示例5: Listen

// Listen Tells Gin API to start
func Listen(iface string, s *discordgo.Session, logger *logging.Logger) {
	// set the refs to point to main
	var v1 *gin.RouterGroup
	session = s
	c := config.Get()
	log = logger

	if c.LogLevel != "debug" {
		gin.SetMode(gin.ReleaseMode)
	}

	//r := gin.Default()
	r := gin.New()

	r.Use(loggerino())
	r.Use(gin.Recovery())

	if c.APIPassword != "" {
		log.Info("Basic Authentication enabled for API")
		v1 = r.Group("/v1", gin.BasicAuth(gin.Accounts{
			c.APIUsername: c.APIPassword,
		}))
	} else {
		log.Warning("DIGO_API_PASSWORD and DIGO_API_USERNAME are not set")
		log.Warning("The API is open to all requests")
		v1 = r.Group("/v1")
	}

	v1.GET("/version", versionV1)
	v1.GET("/channels", channelsV1)
	v1.POST("/message", messageV1)

	go r.Run(iface)
	log.Noticef("Digo API is listening on %s", c.APIInterface)
}
开发者ID:Skullever,项目名称:digo,代码行数:36,代码来源:api.go


示例6: TestLogRequest

func TestLogRequest(t *testing.T) {

	s := loadServerCtx()
	s.AllowedApps = append(s.AllowedApps, "test")
	s.AppPasswd["test"] = "pass"

	s.in = make(chan *logData)
	defer close(s.in)
	s.out = make(chan *logMetrics)
	defer close(s.out)

	go logProcess(s.in, s.out)

	r := gin.New()
	auth := r.Group("/", gin.BasicAuth(s.AppPasswd))
	auth.POST("/", s.processLogs)

	req, _ := http.NewRequest("POST", "/", bytes.NewBuffer([]byte("LINE of text\nAnother line\n")))
	req.SetBasicAuth("test", "pass")
	resp := httptest.NewRecorder()
	r.ServeHTTP(resp, req)

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		t.Error(err)
	}
	if string(body) != "OK" {
		t.Error("resp body should match")
	}

	if resp.Code != 200 {
		t.Error("should get a 200")
	}

}
开发者ID:apiaryio,项目名称:heroku-datadog-drain-golang,代码行数:35,代码来源:server_test.go


示例7: main

func main() {
	gin.SetMode(gin.ReleaseMode)

	s := loadServerCtx()
	if s.Debug {
		log.SetLevel(log.DebugLevel)
		gin.SetMode(gin.DebugMode)
	}

	c, err := statsdClient(s.StatsdUrl)
	if err != nil {
		log.WithField("statsdUrl", s.StatsdUrl).Fatal("Could not connect to statsd")
	}

	r := gin.Default()
	r.GET("/status", func(c *gin.Context) {
		c.String(200, "OK")
	})

	if len(s.AppPasswd) > 0 {
		auth := r.Group("/", gin.BasicAuth(s.AppPasswd))
		auth.POST("/", s.processLogs)
	}

	s.in = make(chan *logData, bufferLen)
	defer close(s.in)
	s.out = make(chan *logMetrics, bufferLen)
	defer close(s.out)
	go logProcess(s.in, s.out)
	go c.sendToStatsd(s.out)
	log.Infoln("Server ready ...")
	r.Run(":" + s.Port)

}
开发者ID:urbandictionary,项目名称:heroku-datadog-drain-golang,代码行数:34,代码来源:server.go


示例8: Monitor

func (s schedule) Monitor(e *gin.Engine, path, username, password string) schedule {
	r := e.RouterGroup
	m := gin.Accounts{
		username: password,
	}
	r.Use(gin.BasicAuth(m))
	r.GET(path, JobHtml)
	return s
}
开发者ID:springCat,项目名称:go_utils,代码行数:9,代码来源:schedule.go


示例9: Run

func (s *Service) Run() error {
	eng := gin.Default()
	eng.LoadHTMLGlob(s.Config.App.TemplatesPath + "/*")
	eng.Static("/assets", s.Config.App.AssetPath)

	prefix := "/"
	if s.Config.App.Prefix != "" {
		prefix = s.Config.App.Prefix
	}

	g := eng.Group(prefix, gin.BasicAuth(gin.Accounts{
		s.Config.Admin.Login: s.Config.Admin.Password,
	}))

	g.GET("/", func(c *gin.Context) {
		posts, e := s.Store.GetSlice(10, 0)
		res := gin.H{}
		if e != nil {
			fmt.Println(e)
			res["error"] = e
		}
		res["posts"] = posts
		c.HTML(200, "index.html", res)
	})

	g.Any("/create", func(c *gin.Context) {
		rm := gin.H{}
		if c.Request.Method == "POST" {
			rm["message"] = "posted"

			title := c.PostForm("title")
			content := c.PostForm("content")

			p := new(Post)
			p.Title = title
			p.Body = content

			e := s.Store.Save(p)
			if e != nil {
				fmt.Println(e)
				rm["error"] = e
			}
		}
		c.HTML(200, "edit.html", rm)
	})

	g.GET("/p/:id", func(c *gin.Context) {
		id := c.Param("id")
		c.HTML(200, "show.html", gin.H{"da": id})
	})

	g.POST("/p/:id", func(c *gin.Context) {

	})

	return http.ListenAndServe(fmt.Sprintf(":%d", s.Config.App.Port), eng)
}
开发者ID:zhuharev,项目名称:postmi,代码行数:57,代码来源:service.go


示例10: Start

func (s *Server) Start() {
	r := gin.Default()

	r.StaticFS("/data", http.Dir(filepath.Join(s.FpRoot, "data")))
	r.StaticFS("/assets", http.Dir("./assets"))

	var api, ui gin.IRoutes
	if s.AdminUser != "" {
		accounts := gin.Accounts{s.AdminUser: s.AdminPass}
		api = r.Group("/api", gin.BasicAuth(accounts))
		ui = r.Group("/ui", gin.BasicAuth(accounts))
	} else {
		api = r.Group("/api")
		ui = r.Group("/ui")
	}

	{
		api.POST("/upload/:hash", s.upload)
		api.POST("/nonexists", s.nonexists)
		api.GET("/stat", s.stat)
		api.GET("/tags", s.indexTags)
		api.GET("/tags/:id", s.getTags)
		api.POST("/tags/:id", s.postTags)
		api.GET("/tags/:id/files/*path", s.getTagsFile)
		api.GET("/tags/:id/versions", s.indexTagsVersions)
	}

	ui.GET("/*dummy", func(c *gin.Context) {
		file, err := ioutil.ReadFile("./assets/index.html")
		if err != nil {
			c.AbortWithError(500, err)
			return
		}
		c.Data(200, "text/html", file)
	})

	// redirect _admin/* to api/*
	r.Any("/_admin/*path", func(c *gin.Context) {
		c.Request.URL.Path = "/api" + c.Param("path")
		r.ServeHTTP(c.Writer, c.Request)
	})

	r.Run(fmt.Sprintf(":%d", s.Port))
}
开发者ID:haramako,项目名称:cfs,代码行数:44,代码来源:server.go


示例11: startServer

func startServer() {
	router := gin.Default()

	// Enable HTTP basic authentication only if both user and password are set
	if options.AuthUser != "" && options.AuthPass != "" {
		auth := map[string]string{options.AuthUser: options.AuthPass}
		router.Use(gin.BasicAuth(auth))
	}

	router.GET("/", APIHome)
	router.POST("/connect", APIConnect)
	router.DELETE("/disconnect", APIClose)
	router.GET("/databases", APIGetDatabases)
	router.GET("/databases/:database/tables", APIGetDatabaseTables)
	router.GET("/databases/:database/tables/:table/column", APIGetColumnOfTable)
	router.GET("/databases/:database/views", APIGetDatabaseViews)
	router.GET("/databases/:database/procedures", APIGetDatabaseProcedures)
	router.GET("/databases/:database/functions", APIGetDatabaseFunctions)
	router.POST("/databases/:database/actions/default", APISetDefaultDatabase)
	router.GET("/info", APIInfo)
	router.GET("/tables/:table/info", APIGetTableInfo)
	router.GET("/tables/:table/indexes", APITableIndexes)
	router.GET("/query", APIRunQuery)
	router.POST("/query", APIRunQuery)
	router.GET("/explain", APIExplainQuery)
	router.POST("/explain", APIExplainQuery)
	router.GET("/history", APIHistory)
	router.GET("/static/:type/:name", APIServeAsset)
	router.GET("/procedures/:procedure/parameters", APIProcedureParameters)
	router.GET("/collation", APIGetCollationCharSet)
	router.POST("/databases/:database/actions/alter", APIAlterDatabase)
	router.DELETE("/databases/:database/actions/drop", APIDropDatabase)
	router.DELETE("/databases/:database/tables/:table/actions/drop", APIDropTable)
	router.DELETE("/databases/:database/tables/:table/actions/truncate", APITruncateTable)
	router.GET("/databases/:database/procedures/:procedure", APIProcedureDefinition)
	router.GET("/databases/:database/functions/:function", APIFunctionDefinition)
	router.POST("/databases/:database/procedures/:procedure", APICreateProcedure)
	router.POST("/databases/:database/functions/:function", APICreateFunction)
	router.DELETE("/databases/:database/procedures/:procedure/actions/drop", APIDropProcedure)
	router.GET("/databases/:database/views/:view", APIViewDefinition)
	router.GET("/search/:query", apiSearch)
	router.GET("/bookmarks", APIGetBookmarks)
	router.POST("/bookmarks/:name", APISaveBookmark)
	router.DELETE("/bookmarks/:name", APIDeleteBookmark)
	router.GET("/updates", getUpdate)

	fmt.Println("Starting server...")
	go router.Run(fmt.Sprintf("%v:%v", options.HttpHost, options.HttpPort))
}
开发者ID:captainjack2803,项目名称:mysqlweb,代码行数:49,代码来源:main.go


示例12: main

func main() {
	r := gin.Default()

	// Ping test
	r.GET("/ping", func(c *gin.Context) {
		c.String(200, "pong")
	})

	// Get user value
	r.GET("/user/:name", func(c *gin.Context) {
		user := c.Params.ByName("name")
		value, ok := DB[user]
		if ok {
			c.JSON(200, gin.H{"user": user, "value": value})
		} else {
			c.JSON(200, gin.H{"user": user, "status": "no value"})
		}
	})

	// Authorized group (uses gin.BasicAuth() middleware)
	// Same than:
	// authorized := r.Group("/")
	// authorized.Use(gin.BasicAuth(gin.Credentials{
	//	  "foo":  "bar",
	//	  "manu": "123",
	//}))
	authorized := r.Group("/", gin.BasicAuth(gin.Accounts{
		"foo":  "bar", // user:foo password:bar
		"manu": "123", // user:manu password:123
	}))

	authorized.POST("admin", func(c *gin.Context) {
		user := c.MustGet(gin.AuthUserKey).(string)

		// Parse JSON
		var json struct {
			Value string `json:"value" binding:"required"`
		}

		if c.Bind(&json) {
			DB[user] = json.Value
			c.JSON(200, gin.H{"status": "ok"})
		}
	})

	// Listen and Server in 0.0.0.0:8080
	r.Run(":8080")
}
开发者ID:BTBurke,项目名称:remailer,代码行数:48,代码来源:example_basic.go


示例13: RegistrarRotas

// RegistrarRotas realiza o registro de todas as rotas da aplicação.
func RegistrarRotas(r *gin.Engine, usuario, senha string) {

	// Habilitando esquema de autorização simples
	auth := r.Group("/", gin.BasicAuth(gin.Accounts{usuario: senha}))

	auth.GET("/", Raiz)

	auth.GET("/pagina/:pag", Pagina)

	auth.GET("/formulario", Formulario)

	auth.POST("/salvar", Salvar)

	auth.GET("/remover/:id", Remover)

	auth.GET("/editar/:id", Editar)
}
开发者ID:viliamjr,项目名称:favoritos,代码行数:18,代码来源:rotas.go


示例14: Run

func (s *TwitterService) Run(cfg Config) error {
	s.Migrate(cfg)
	db, err := s.getDb(cfg)
	if err != nil {
		return err
	}
	db.SingularTable(true)

	twitterResource := &TwitterResource{db: db}

	r := gin.Default()
	//gin.SetMode(gin.ReleaseMode)
	r.Use(cors.Middleware(cors.Options{}))

	ba := r.Group("/", gin.BasicAuth(gin.Accounts{
		"paul": "1234",
		"ming": "1234",
	}))

	ba.GET("/twitter", twitterResource.GetAllTwitters)
	ba.GET("/twitter/:id", twitterResource.GetTwitter)
	ba.POST("/twitter", twitterResource.CreateTwitter)
	ba.PUT("/twitter/:id", twitterResource.UpdateTwitter)
	ba.PATCH("/twitter/:id", twitterResource.PatchTwitter)
	ba.DELETE("/twitter/:id", twitterResource.DeleteTwitter)

	//for user
	ba.GET("/user", twitterResource.GetAllUsers)
	ba.GET("/user/:id", twitterResource.GetUser)
	ba.POST("/user", twitterResource.CreateUser)
	ba.PUT("/user/:id", twitterResource.UpdateUser)
	ba.PATCH("/user/:id", twitterResource.PatchUser)
	ba.DELETE("/user/:id", twitterResource.DeleteUser)

	//user+twitter
	ba.POST("/twitter/user/:id", twitterResource.CreateTwitterByUserId)
	ba.GET("/user/:id/twitter", twitterResource.GetTwittersByUserId)

	r.Run(cfg.SvcHost)

	return nil
}
开发者ID:mingderwang,项目名称:my-twitter,代码行数:42,代码来源:twitter_service.go


示例15: main

func main() {
	r := gin.Default()
	r.Use(gzip.Gzip(gzip.DefaultCompression))

	// Group using gin.BasicAuth() middleware
	authorized := r.Group("/")

	if len(config.Accounts) > 0 {
		authorized.Use(gin.BasicAuth(config.Accounts))
	}
	for _, f := range config.StaticFS {
		authorized.StaticFS("/"+f, http.Dir(f))
	}

	authorized.GET(config.HomeUrl, func(c *gin.Context) {
		c.JSON(http.StatusOK, "home!")
	})

	r.Run(config.ListenAddress)
}
开发者ID:cxjava,项目名称:webui-aria2,代码行数:20,代码来源:main.go


示例16: startServer

func startServer() {
	router := gin.Default()

	// Enable HTTP basic authentication only if both user and password are set
	if options.AuthUser != "" && options.AuthPass != "" {
		auth := map[string]string{options.AuthUser: options.AuthPass}
		router.Use(gin.BasicAuth(auth))
	}

	api.SetupRoutes(router)

	fmt.Println("Starting server...")
	go func() {
		err := router.Run(fmt.Sprintf("%v:%v", options.HttpHost, options.HttpPort))
		if err != nil {
			fmt.Println("Cant start server:", err)
			os.Exit(1)
		}
	}()
}
开发者ID:peterlee2008,项目名称:pgweb,代码行数:20,代码来源:main.go


示例17: main

func main() {
	r := gin.Default()
	authorized := r.Group("", gin.BasicAuth(gin.Accounts{
		"admin": "admin",
	}))

	env := handlers.InitEnv()
	defer env.Destroy()

	r.Static("/assets", "./assets")
	r.GET("/", handlers.Index)

	// Knots handlers
	r.GET("/knots", env.AllKnot)
	r.GET("/knots/:id", env.OneKnot)
	authorized.POST("/knots", env.NewKnot)
	authorized.PUT("/knots/:id", env.UpdateKnot)
	authorized.DELETE("/knots/:id", env.DeleteKnot)

	r.Run(":8001")
}
开发者ID:serkas,项目名称:knots,代码行数:21,代码来源:main.go


示例18: startServer

func startServer(port uint, adminPassword string) {
	router := gin.Default()
	router.Static("/assets", "./assets")

	router.GET("/", func(c *gin.Context) {
		showProjects(c)
	})

	authorized := router.Group("/add", gin.BasicAuth(gin.Accounts{
		"admin": adminPassword,
	}))

	authorized.GET("", func(c *gin.Context) {
		render.New(c).HTML(http.StatusOK, "add.tmpl", nil)
	})

	authorized.POST("", func(c *gin.Context) {
		addNewProject(c)
	})

	router.Run(fmt.Sprintf(":%v", port))
}
开发者ID:calavera,项目名称:gh-rel,代码行数:22,代码来源:server.go


示例19: main

func main() {
	r := gin.Default()
	r.Static("/assets", "./assets")
	r.LoadHTMLGlob("templates/*")

	/*Arduino 接入路由*/
	r.POST("/device/locate", D_Locate)

	/*AJAX 请求路由*/
	r.GET("/ajax/location", GetLocation)
	r.GET("/ajax/location/all", GetAllLocation)

	/*控制台路由*/
	authorized := r.Group("/admin", gin.BasicAuth(gin.Accounts{
		"admin": "123456",
	}))

	authorized.GET("/", Index)
	authorized.GET("/location/list", List)
	authorized.GET("/location/delete/:id", Delete)

	r.Run(":8080")
}
开发者ID:highsoul,项目名称:zmy,代码行数:23,代码来源:server.go


示例20: main

func main() {
	appConfig, err := config.LoadAppConfig(APP_CONFIG_PATH)
	if err != nil {
		fmt.Println("发生错误:", err.Error())
		os.Exit(-1)
	}

	r := gin.Default()
	r.Static("/assets", "./ui/assets")
	r.LoadHTMLGlob("ui/templates/*")
	r.Use(appConfigMiddleware(appConfig))

	if appConfig.Basic_auth.On == "yes" {
		r.Use(gin.BasicAuth(gin.Accounts{appConfig.Basic_auth.Username: appConfig.Basic_auth.Password}))
	}

	r.GET("/", controller.Home)
	r.POST("/do", controller.Do)

	var port string
	flag.StringVar(&port, "listen", ":8080", "listen address")
	flag.Parse()
	r.Run(port)
}
开发者ID:yinwer81,项目名称:memcached-ui,代码行数:24,代码来源:mu.go



注:本文中的github.com/gin-gonic/gin.BasicAuth函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang gin.Default函数代码示例发布时间:2022-05-23
下一篇:
Golang static.Serve函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap