githaven-fork/modules/auth/authentication.go

56 lines
1.7 KiB
Go
Raw Normal View History

2014-05-05 09:32:47 +00:00
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2014-05-03 02:48:14 +00:00
package auth
2014-05-05 09:32:47 +00:00
import (
"net/http"
"reflect"
"github.com/go-martini/martini"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/middleware/binding"
)
2014-05-03 02:48:14 +00:00
type AuthenticationForm struct {
2014-05-11 10:10:37 +00:00
Id int64 `form:"id"`
Type int `form:"type"`
AuthName string `form:"name" binding:"Required;MaxSize(50)"`
Domain string `form:"domain"`
Host string `form:"host"`
Port int `form:"port"`
2014-05-15 12:21:27 +00:00
UseSSL bool `form:"usessl"`
2014-05-11 10:10:37 +00:00
BaseDN string `form:"base_dn"`
Attributes string `form:"attributes"`
Filter string `form:"filter"`
MsAdSA string `form:"ms_ad_sa"`
IsActived bool `form:"is_actived"`
SmtpAuth string `form:"smtpauth"`
2014-05-12 15:02:36 +00:00
SmtpHost string `form:"smtphost"`
SmtpPort int `form:"smtpport"`
2014-05-11 11:43:57 +00:00
Tls bool `form:"tls"`
2014-05-11 10:10:37 +00:00
AllowAutoRegister bool `form:"allowautoregister"`
2014-05-03 02:48:14 +00:00
}
2014-05-05 09:32:47 +00:00
func (f *AuthenticationForm) Name(field string) string {
names := map[string]string{
"AuthName": "Authentication's name",
"Domain": "Domain name",
"Host": "Host address",
"Port": "Port Number",
2014-05-15 12:21:27 +00:00
"UseSSL": "Use SSL",
2014-05-05 09:32:47 +00:00
"BaseDN": "Base DN",
"Attributes": "Search attributes",
"Filter": "Search filter",
"MsAdSA": "Ms Ad SA",
}
return names[field]
}
2014-05-09 02:12:05 +00:00
func (f *AuthenticationForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) {
2014-05-05 09:32:47 +00:00
data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData)
validate(errors, data, f)
}