aboutsummaryrefslogtreecommitdiffstats
path: root/routers/admin/auths.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-05-03 10:48:14 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-05-03 10:48:14 +0800
commit79ea34e70ebe989f1a5f8fbd71cfe3109c6f8a58 (patch)
tree066027c6a42b971030e0d8b41ff979bfaa1e25ae /routers/admin/auths.go
parent8bab21d795a6af7c424e9f8f72d613863cf34a70 (diff)
downloadgitea-79ea34e70ebe989f1a5f8fbd71cfe3109c6f8a58.tar.gz
gitea-79ea34e70ebe989f1a5f8fbd71cfe3109c6f8a58.zip
ldap support
Diffstat (limited to 'routers/admin/auths.go')
-rw-r--r--routers/admin/auths.go62
1 files changed, 62 insertions, 0 deletions
diff --git a/routers/admin/auths.go b/routers/admin/auths.go
new file mode 100644
index 0000000000..69d38db5d4
--- /dev/null
+++ b/routers/admin/auths.go
@@ -0,0 +1,62 @@
+package admin
+
+import (
+ "strings"
+
+ "github.com/gogits/gogs/models"
+ "github.com/gogits/gogs/modules/auth"
+ "github.com/gogits/gogs/modules/auth/ldap"
+ "github.com/gogits/gogs/modules/middleware"
+ "github.com/gpmgo/gopm/log"
+)
+
+func NewAuthSource(ctx *middleware.Context) {
+ ctx.Data["Title"] = "New Authentication"
+ ctx.Data["PageIsAuths"] = true
+ ctx.HTML(200, "admin/auths/new")
+}
+
+func NewAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) {
+ ctx.Data["Title"] = "New Authentication"
+ ctx.Data["PageIsAuths"] = true
+
+ if ctx.HasError() {
+ ctx.HTML(200, "admin/auths/new")
+ return
+ }
+
+ u := &models.LDAPConfig{
+ Ldapsource: ldap.Ldapsource{
+ Host: form.Host,
+ Port: form.Port,
+ BaseDN: form.BaseDN,
+ Attributes: form.Attributes,
+ Filter: form.Filter,
+ MsAdSAFormat: form.MsAdSA,
+ Enabled: true,
+ Name: form.Name,
+ },
+ }
+
+ if err := models.AddLDAPSource(form.Name, u); err != nil {
+ switch err {
+ default:
+ ctx.Handle(500, "admin.auths.NewAuth", err)
+ }
+ return
+ }
+
+ log.Trace("%s Authentication created by admin(%s): %s", ctx.Req.RequestURI,
+ ctx.User.LowerName, strings.ToLower(form.Name))
+
+ ctx.Redirect("/admin/auths")
+}
+
+func EditAuthSource(ctx *middleware.Context) {
+}
+
+func EditAuthSourcePost(ctx *middleware.Context) {
+}
+
+func DeleteAuthSource(ctx *middleware.Context) {
+}