summaryrefslogtreecommitdiffstats
path: root/routers/admin
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
parent8bab21d795a6af7c424e9f8f72d613863cf34a70 (diff)
downloadgitea-79ea34e70ebe989f1a5f8fbd71cfe3109c6f8a58.tar.gz
gitea-79ea34e70ebe989f1a5f8fbd71cfe3109c6f8a58.zip
ldap support
Diffstat (limited to 'routers/admin')
-rw-r--r--routers/admin/admin.go13
-rw-r--r--routers/admin/auths.go62
2 files changed, 75 insertions, 0 deletions
diff --git a/routers/admin/admin.go b/routers/admin/admin.go
index d0f737e645..bd7cc98f64 100644
--- a/routers/admin/admin.go
+++ b/routers/admin/admin.go
@@ -120,6 +120,19 @@ func Users(ctx *middleware.Context) {
ctx.HTML(200, "admin/users")
}
+func Auths(ctx *middleware.Context) {
+ ctx.Data["Title"] = "Auth Sources"
+ ctx.Data["PageIsAuths"] = true
+
+ var err error
+ ctx.Data["Sources"], err = models.GetAuths()
+ if err != nil {
+ ctx.Handle(200, "admin.Auths", err)
+ return
+ }
+ ctx.HTML(200, "admin/auths")
+}
+
func Repositories(ctx *middleware.Context) {
ctx.Data["Title"] = "Repository Management"
ctx.Data["PageIsRepos"] = true
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) {
+}