From 1f652bb6f330c2365eeedffc3f47aed6bb7d5bfb Mon Sep 17 00:00:00 2001 From: cuigh Date: Fri, 24 Nov 2017 13:03:51 +0800 Subject: [PATCH] Add permission control for service resource --- assets/swirl/js/swirl.js | 83 +++++++++++++++++++------ assets/swirl/js/swirl.js.map | 2 +- assets/swirl/ts/perm/edit.ts | 61 +++++++++++++++++++ assets/swirl/ts/service/list.ts | 28 ++------- biz/perm.go | 87 ++++++++++++++++++++++++++ biz/template.go | 29 +++++++++ config/i18n/en.yml | 4 ++ config/i18n/zh.yml | 4 ++ controller/perm.go | 57 +++++++++++++++++ controller/service.go | 84 ++++++++++++-------------- controller/user.go | 28 +++++++++ dao/dao.go | 4 ++ dao/mongo/mongo.go | 3 + dao/mongo/perm.go | 53 ++++++++++++++++ main.go | 4 +- model/auth.go | 11 ++++ model/{setting.go => system.go} | 18 ++++++ views/service/detail.jet | 1 + views/service/edit.jet | 1 + views/service/list.jet | 5 -- views/service/logs.jet | 1 + views/service/perm.jet | 104 ++++++++++++++++++++++++++++++++ views/service/raw.jet | 1 + 23 files changed, 577 insertions(+), 96 deletions(-) create mode 100644 assets/swirl/ts/perm/edit.ts create mode 100644 biz/perm.go create mode 100644 controller/perm.go create mode 100644 dao/mongo/perm.go rename model/{setting.go => system.go} (83%) create mode 100644 views/service/perm.jet diff --git a/assets/swirl/js/swirl.js b/assets/swirl/js/swirl.js index f19107e..ed60277 100644 --- a/assets/swirl/js/swirl.js +++ b/assets/swirl/js/swirl.js @@ -1350,6 +1350,63 @@ var Swirl; })(Node = Swirl.Node || (Swirl.Node = {})); })(Swirl || (Swirl = {})); var Swirl; +(function (Swirl) { + var Perm; + (function (Perm) { + var Dispatcher = Swirl.Core.Dispatcher; + var Modal = Swirl.Core.Modal; + class EditPage { + constructor() { + $("#txt-query").keydown(this.searchUser); + $("#btn-add-user").click(this.addUser); + Dispatcher.bind("#div-users").on("delete-user", this.deleteUser.bind(this)); + } + deleteUser(e) { + $(e.target).closest("div.control").remove(); + } + searchUser(e) { + if (e.keyCode == 13) { + let query = $.trim($(e.target).val()); + if (query.length == 0) { + return; + } + $ajax.post("/system/user/search", { query: query }).encoder("form").json((users) => { + let $panel = $("#nav-users"); + $panel.find("label.panel-block").remove(); + for (let user of users) { + $panel.append(``); + } + }); + } + } + addUser() { + let users = {}; + $("#div-users").find("input").each((i, e) => { + users[$(e).val()] = true; + }); + let $panel = $("#nav-users"); + $panel.find("input:checked").each((i, e) => { + let $el = $(e); + if (users[$el.val()]) { + return; + } + $("#div-users").append(`
+
+ ${$el.data("name")} + + +
`); + }); + Modal.close(); + $panel.find("label.panel-block").remove(); + } + } + Perm.EditPage = EditPage; + })(Perm = Swirl.Perm || (Swirl.Perm = {})); +})(Swirl || (Swirl = {})); +var Swirl; (function (Swirl) { var Registry; (function (Registry) { @@ -1762,49 +1819,35 @@ var Swirl; this.table.on("delete-service", this.deleteService.bind(this)) .on("scale-service", this.scaleService.bind(this)) .on("rollback-service", this.rollbackService.bind(this)); - $("#btn-delete").click(this.deleteServices.bind(this)); } deleteService(e) { let $tr = $(e.target).closest("tr"); - let name = $tr.find("td:eq(1)").text().trim(); + let name = $tr.find("td:eq(0)").text().trim(); Modal.confirm(`Are you sure to remove service: ${name}?`, "Delete service", (dlg, e) => { - $ajax.post("delete", { names: name }).trigger(e.target).encoder("form").json(() => { + $ajax.post(`${name}/delete`, { names: name }).trigger(e.target).encoder("form").json(() => { $tr.remove(); dlg.close(); }); }); } - deleteServices() { - let names = this.table.selectedKeys(); - if (names.length == 0) { - Modal.alert("Please select one or more items."); - return; - } - Modal.confirm(`Are you sure to remove ${names.length} services?`, "Delete services", (dlg, e) => { - $ajax.post("delete", { names: names.join(",") }).trigger(e.target).encoder("form").json(() => { - this.table.selectedRows().remove(); - dlg.close(); - }); - }); - } scaleService(e) { let $btn = $(e.target).closest("button"); let $tr = $btn.closest("tr"); let data = { - name: $tr.find("td:eq(1)").text().trim(), + name: $tr.find("td:eq(0)").text().trim(), count: $btn.data("replicas"), }; Modal.confirm(``, "Scale service", (dlg, e) => { data.count = dlg.find("input[name=count]").val(); - $ajax.post("scale", data).trigger(e.target).encoder("form").json(() => { + $ajax.post(`${data.name}/scale`, data).trigger(e.target).encoder("form").json(() => { location.reload(); }); }); } rollbackService(e) { - let $btn = $(e.target).closest("button"), $tr = $btn.closest("tr"), name = $tr.find("td:eq(1)").text().trim(); + let $btn = $(e.target).closest("button"), $tr = $btn.closest("tr"), name = $tr.find("td:eq(0)").text().trim(); Modal.confirm(`Are you sure to rollback service: ${name}?`, "Rollback service", (dlg, e) => { - $ajax.post("rollback", { name: name }).trigger(e.target).encoder("form").json(() => { + $ajax.post(`${name}/rollback`, { name: name }).trigger(e.target).encoder("form").json(() => { dlg.close(); }); }); diff --git a/assets/swirl/js/swirl.js.map b/assets/swirl/js/swirl.js.map index 87573e7..6c29ebe 100644 --- a/assets/swirl/js/swirl.js.map +++ b/assets/swirl/js/swirl.js.map @@ -1 +1 @@ -{"version":3,"file":"swirl.js","sourceRoot":"","sources":["../ts/core/bulma.ts","../ts/core/ajax.ts","../ts/core/validator.ts","../ts/core/form.ts","../ts/core/dispatcher.ts","../ts/core/table.ts","../ts/core/core.ts","../ts/config/list.ts","../ts/config/new.ts","../ts/container/list.ts","../ts/core/page.ts","../ts/image/list.ts","../ts/network/detail.ts","../ts/network/list.ts","../ts/network/new.ts","../ts/node/edit.ts","../ts/node/list.ts","../ts/registry/list.ts","../ts/role/edit.ts","../ts/role/list.ts","../ts/role/new.ts","../ts/secret/list.ts","../ts/secret/new.ts","../ts/service/edit.ts","../ts/service/list.ts","../ts/service/template/list.ts","../ts/setting/index.ts","../ts/stack/archive/edit.ts","../ts/stack/archive/list.ts","../ts/stack/task/list.ts","../ts/user/list.ts","../ts/volume/list.ts","../ts/volume/new.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"swirl.js","sourceRoot":"","sources":["../ts/core/bulma.ts","../ts/core/ajax.ts","../ts/core/validator.ts","../ts/core/form.ts","../ts/core/dispatcher.ts","../ts/core/table.ts","../ts/core/core.ts","../ts/config/list.ts","../ts/config/new.ts","../ts/container/list.ts","../ts/core/page.ts","../ts/image/list.ts","../ts/network/detail.ts","../ts/network/list.ts","../ts/network/new.ts","../ts/node/edit.ts","../ts/node/list.ts","../ts/perm/edit.ts","../ts/registry/list.ts","../ts/role/edit.ts","../ts/role/list.ts","../ts/role/new.ts","../ts/secret/list.ts","../ts/secret/new.ts","../ts/service/edit.ts","../ts/service/list.ts","../ts/service/template/list.ts","../ts/setting/index.ts","../ts/stack/archive/edit.ts","../ts/stack/archive/list.ts","../ts/stack/task/list.ts","../ts/user/list.ts","../ts/volume/list.ts","../ts/volume/new.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/swirl/ts/perm/edit.ts b/assets/swirl/ts/perm/edit.ts new file mode 100644 index 0000000..70f2cfa --- /dev/null +++ b/assets/swirl/ts/perm/edit.ts @@ -0,0 +1,61 @@ +/// +namespace Swirl.Perm { + import Dispatcher = Swirl.Core.Dispatcher; + import Modal = Swirl.Core.Modal; + + export class EditPage { + constructor() { + // bind events + $("#txt-query").keydown(this.searchUser); + $("#btn-add-user").click(this.addUser); + Dispatcher.bind("#div-users").on("delete-user", this.deleteUser.bind(this)); + } + + private deleteUser(e: JQueryEventObject) { + $(e.target).closest("div.control").remove(); + } + + private searchUser(e: JQueryEventObject) { + if (e.keyCode == 13) { + let query = $.trim($(e.target).val()); + if (query.length == 0) { + return; + } + $ajax.post("/system/user/search", {query: query}).encoder("form").json((users: any) => { + let $panel = $("#nav-users"); + $panel.find("label.panel-block").remove(); + for (let user of users) { + $panel.append(``); + } + }); + } + } + + private addUser() { + let users: { [index: string]: boolean } = {}; + $("#div-users").find("input").each((i, e) => { + users[$(e).val()] = true; + }); + + let $panel = $("#nav-users"); + $panel.find("input:checked").each((i, e) => { + let $el = $(e); + if (users[$el.val()]) { + return; + } + + $("#div-users").append(`
+
+ ${$el.data("name")} + + +
`); + }); + + Modal.close(); + $panel.find("label.panel-block").remove(); + } + } +} \ No newline at end of file diff --git a/assets/swirl/ts/service/list.ts b/assets/swirl/ts/service/list.ts index fbeb1d3..fdb7e7b 100644 --- a/assets/swirl/ts/service/list.ts +++ b/assets/swirl/ts/service/list.ts @@ -14,45 +14,29 @@ namespace Swirl.Service { this.table.on("delete-service", this.deleteService.bind(this)) .on("scale-service", this.scaleService.bind(this)) .on("rollback-service", this.rollbackService.bind(this)); - $("#btn-delete").click(this.deleteServices.bind(this)); } private deleteService(e: JQueryEventObject) { let $tr = $(e.target).closest("tr"); - let name = $tr.find("td:eq(1)").text().trim(); + let name = $tr.find("td:eq(0)").text().trim(); Modal.confirm(`Are you sure to remove service: ${name}?`, "Delete service", (dlg, e) => { - $ajax.post("delete", {names: name}).trigger(e.target).encoder("form").json(() => { + $ajax.post(`${name}/delete`, {names: name}).trigger(e.target).encoder("form").json(() => { $tr.remove(); dlg.close(); }) }); } - private deleteServices() { - let names = this.table.selectedKeys(); - if (names.length == 0) { - Modal.alert("Please select one or more items."); - return; - } - - Modal.confirm(`Are you sure to remove ${names.length} services?`, "Delete services", (dlg, e) => { - $ajax.post("delete", {names: names.join(",")}).trigger(e.target).encoder("form").json(() => { - this.table.selectedRows().remove(); - dlg.close(); - }) - }); - } - private scaleService(e: JQueryEventObject) { let $btn = $(e.target).closest("button"); let $tr = $btn.closest("tr"); let data = { - name: $tr.find("td:eq(1)").text().trim(), + name: $tr.find("td:eq(0)").text().trim(), count: $btn.data("replicas"), }; Modal.confirm(``, "Scale service", (dlg, e) => { data.count = dlg.find("input[name=count]").val(); - $ajax.post("scale", data).trigger(e.target).encoder("form").json(() => { + $ajax.post(`${data.name}/scale`, data).trigger(e.target).encoder("form").json(() => { location.reload(); }) }); @@ -61,9 +45,9 @@ namespace Swirl.Service { private rollbackService(e: JQueryEventObject) { let $btn = $(e.target).closest("button"), $tr = $btn.closest("tr"), - name = $tr.find("td:eq(1)").text().trim(); + name = $tr.find("td:eq(0)").text().trim(); Modal.confirm(`Are you sure to rollback service: ${name}?`, "Rollback service", (dlg, e) => { - $ajax.post("rollback", {name: name}).trigger(e.target).encoder("form").json(() => { + $ajax.post(`${name}/rollback`, {name: name}).trigger(e.target).encoder("form").json(() => { dlg.close(); }) }); diff --git a/biz/perm.go b/biz/perm.go new file mode 100644 index 0000000..8d411b0 --- /dev/null +++ b/biz/perm.go @@ -0,0 +1,87 @@ +package biz + +import ( + "net/http" + "strings" + + "github.com/cuigh/auxo/net/web" + "github.com/cuigh/swirl/dao" + "github.com/cuigh/swirl/model" +) + +// Perm return a perm biz instance. +var ( + Perm = &permBiz{} + ErrForbidden = web.NewError(http.StatusForbidden) +) + +type permBiz struct { +} + +func (b *permBiz) Delete(resType, resID string, user web.User) (err error) { + do(func(d dao.Interface) { + err = d.PermDelete(resType, resID) + }) + return +} + +func (b *permBiz) Get(resType, resID string) (perm *model.Perm, err error) { + do(func(d dao.Interface) { + perm, err = d.PermGet(resType, resID) + }) + return +} + +func (b *permBiz) Update(perm *model.Perm, user web.User) (err error) { + do(func(d dao.Interface) { + err = d.PermUpdate(perm) + }) + return +} + +func (b *permBiz) Check(user web.User, scope string, resType, resID string) (err error) { + au := user.(*model.AuthUser) + if au.Admin() { + return + } + + do(func(d dao.Interface) { + var perm *model.Perm + perm, err = d.PermGet(resType, resID) + if err != nil { + return + } + + if perm == nil || perm.Scope == model.PermNone || (scope == "read" && perm.Scope == model.PermWrite) { + return + } + + for _, u := range perm.Users { + if user.ID() == u { + return + } + } + + for _, r := range perm.Roles { + if au.IsInRole(r) { + return + } + } + err = ErrForbidden + }) + return +} + +func (b *permBiz) Apply(next web.HandlerFunc) web.HandlerFunc { + return func(ctx web.Context) error { + opt := ctx.Handler().Option("perm") + if opt != "" { + array := strings.Split(opt, ",") + err := b.Check(ctx.User(), array[0], array[1], ctx.P(array[2])) + if err != nil { + return err + } + } + return next(ctx) + } +} diff --git a/biz/template.go b/biz/template.go index e6b806f..3c257d5 100644 --- a/biz/template.go +++ b/biz/template.go @@ -1,6 +1,7 @@ package biz import ( + "encoding/json" "time" "github.com/cuigh/auxo/data/guid" @@ -40,6 +41,34 @@ func (b *templateBiz) Get(id string) (tpl *model.Template, err error) { return } +func (b *templateBiz) FillInfo(id string, si *model.ServiceInfo) (err error) { + do(func(d dao.Interface) { + var ( + tpl *model.Template + registry *model.Registry + ) + + tpl, err = d.TemplateGet(id) + if err != nil || tpl == nil { + return + } + + err = json.Unmarshal([]byte(tpl.Content), si) + if err != nil { + return + } + + if si.Registry != "" { + registry, err = Registry.Get(si.Registry) + if err != nil { + return + } + si.RegistryURL = registry.URL + } + }) + return +} + func (b *templateBiz) Delete(id string, user web.User) (err error) { do(func(d dao.Interface) { var tpl *model.Template diff --git a/config/i18n/en.yml b/config/i18n/en.yml index bb244af..82afbe9 100644 --- a/config/i18n/en.yml +++ b/config/i18n/en.yml @@ -12,6 +12,7 @@ button.confirm: Confirm button.delete: Delete button.prune: Prune button.new: New +button.add: Add button.edit: Edit button.save: Save button.update: Update @@ -42,6 +43,8 @@ field.image: Image field.address: Address field.driver: Driver field.scope: Scope +field.role: Roles +field.user: Users # menu menu.dashboard: Dashboard @@ -73,6 +76,7 @@ menu.detail: Detail menu.raw: Raw menu.edit: Edit menu.log: Logs +menu.perm: Permission # login page login.title: Sign in to Swirl diff --git a/config/i18n/zh.yml b/config/i18n/zh.yml index 600fa25..3c83d60 100644 --- a/config/i18n/zh.yml +++ b/config/i18n/zh.yml @@ -12,6 +12,7 @@ button.confirm: 确定 button.delete: 删除 button.prune: 清理 button.new: 新建 +button.add: 添加 button.edit: 编辑 button.save: 保存 button.update: 更新 @@ -42,6 +43,8 @@ field.image: 镜像 field.address: 地址 field.driver: 驱动 field.scope: 范围 +field.role: 角色 +field.user: 用户 # menu menu.dashboard: 仪表盘 @@ -73,6 +76,7 @@ menu.detail: 详情 menu.raw: 原始 menu.edit: 编辑 menu.log: 日志 +menu.perm: 权限 # login page login.title: 登录到 Swirl diff --git a/controller/perm.go b/controller/perm.go new file mode 100644 index 0000000..f0392b8 --- /dev/null +++ b/controller/perm.go @@ -0,0 +1,57 @@ +package controller + +import ( + "github.com/cuigh/auxo/data" + "github.com/cuigh/auxo/net/web" + "github.com/cuigh/swirl/biz" + "github.com/cuigh/swirl/model" +) + +func permEdit(ctx web.Context, resType, resID, tpl string, m data.Map) error { + perm, err := biz.Perm.Get(resType, resID) + if err != nil { + return err + } + if perm == nil { + perm = &model.Perm{} + } + + roles, err := biz.Role.List() + if err != nil { + return err + } + + checkedRoles := data.Set{} + checkedRoles.AddSlice(perm.Roles, func(i int) interface{} { + return perm.Roles[i] + }) + + var users []*model.User + for _, id := range perm.Users { + var user *model.User + if user, err = biz.User.GetByID(id); err != nil { + return err + } else if user != nil { + users = append(users, user) + } + } + + m.Set("Perm", perm).Set("Roles", roles).Set("CheckedRoles", checkedRoles).Set("Users", users) + return ctx.Render(tpl, m) +} + +func permUpdate(resType, argName string) web.HandlerFunc { + return func(ctx web.Context) error { + perm := &model.Perm{ + ResType: resType, + ResID: ctx.P(argName), + } + err := ctx.Bind(perm) + if err != nil { + return err + } + + err = biz.Perm.Update(perm, ctx.User()) + return ajaxResult(ctx, err) + } +} diff --git a/controller/service.go b/controller/service.go index 67a8dba..d2c3d55 100644 --- a/controller/service.go +++ b/controller/service.go @@ -1,7 +1,6 @@ package controller import ( - "encoding/json" "strconv" "strings" @@ -17,33 +16,37 @@ import ( // ServiceController is a controller of docker service type ServiceController struct { - List web.HandlerFunc `path:"/" name:"service.list" authorize:"!" desc:"service list page"` - Detail web.HandlerFunc `path:"/:name/detail" name:"service.detail" authorize:"!" desc:"service detail page"` - Raw web.HandlerFunc `path:"/:name/raw" name:"service.raw" authorize:"!" desc:"service raw page"` - Logs web.HandlerFunc `path:"/:name/logs" name:"service.logs" authorize:"!" desc:"service logs page"` - Delete web.HandlerFunc `path:"/delete" method:"post" name:"service.delete" authorize:"!" desc:"delete service"` - Scale web.HandlerFunc `path:"/scale" method:"post" name:"service.scale" authorize:"!" desc:"scale service"` - Rollback web.HandlerFunc `path:"/rollback" method:"post" name:"service.rollback" authorize:"!" desc:"rollback service"` - New web.HandlerFunc `path:"/new" name:"service.new" authorize:"!" desc:"new service page"` - Create web.HandlerFunc `path:"/new" method:"post" name:"service.create" authorize:"!" desc:"create service"` - Edit web.HandlerFunc `path:"/:name/edit" name:"service.edit" authorize:"!" desc:"service edit page"` - Update web.HandlerFunc `path:"/:name/edit" method:"post" name:"service.update" authorize:"!" desc:"update service"` + List web.HandlerFunc `path:"/" name:"service.list" authorize:"!" desc:"service list page"` + Detail web.HandlerFunc `path:"/:name/detail" name:"service.detail" authorize:"!" perm:"read,service,name"` + Raw web.HandlerFunc `path:"/:name/raw" name:"service.raw" authorize:"!" perm:"read,service,name"` + Logs web.HandlerFunc `path:"/:name/logs" name:"service.logs" authorize:"!" perm:"read,service,name"` + Delete web.HandlerFunc `path:"/:name/delete" method:"post" name:"service.delete" authorize:"!" perm:"write,service,name"` + Scale web.HandlerFunc `path:"/:name/scale" method:"post" name:"service.scale" authorize:"!" perm:"write,service,name"` + Rollback web.HandlerFunc `path:"/:name/rollback" method:"post" name:"service.rollback" authorize:"!" perm:"write,service,name"` + New web.HandlerFunc `path:"/new" name:"service.new" authorize:"!" desc:"new service page"` + Create web.HandlerFunc `path:"/new" method:"post" name:"service.create" authorize:"!" desc:"create service"` + Edit web.HandlerFunc `path:"/:name/edit" name:"service.edit" authorize:"!" perm:"write,service,name"` + Update web.HandlerFunc `path:"/:name/edit" method:"post" name:"service.update" authorize:"!" perm:"write,service,name"` + PermEdit web.HandlerFunc `path:"/:name/perm" name:"service.perm.edit" authorize:"!" perm:"write,service,name"` + PermUpdate web.HandlerFunc `path:"/:name/perm" method:"post" name:"service.perm.update" authorize:"!" perm:"write,service,name"` } // Service creates an instance of ServiceController func Service() (c *ServiceController) { return &ServiceController{ - List: serviceList, - Detail: serviceDetail, - Raw: serviceRaw, - Logs: serviceLogs, - Delete: serviceDelete, - New: serviceNew, - Create: serviceCreate, - Edit: serviceEdit, - Update: serviceUpdate, - Scale: serviceScale, - Rollback: serviceRollback, + List: serviceList, + Detail: serviceDetail, + Raw: serviceRaw, + Logs: serviceLogs, + Delete: serviceDelete, + New: serviceNew, + Create: serviceCreate, + Edit: serviceEdit, + Update: serviceUpdate, + Scale: serviceScale, + Rollback: serviceRollback, + PermEdit: servicePermEdit, + PermUpdate: permUpdate("service", "name"), } } @@ -126,37 +129,20 @@ func serviceDelete(ctx web.Context) error { for _, name := range names { if err := docker.ServiceRemove(name); err != nil { return ajaxResult(ctx, err) - } else { - biz.Event.CreateService(model.EventActionDelete, name, ctx.User()) } + biz.Event.CreateService(model.EventActionDelete, name, ctx.User()) } return ajaxSuccess(ctx, nil) } func serviceNew(ctx web.Context) error { - service := &model.ServiceInfo{} + info := &model.ServiceInfo{} tid := ctx.Q("template") if tid != "" { - tpl, err := biz.Template.Get(tid) + err := biz.Template.FillInfo(tid, info) if err != nil { return err } - - if tpl != nil { - err = json.Unmarshal([]byte(tpl.Content), service) - if err != nil { - return err - } - - if service.Registry != "" { - var registry *model.Registry - registry, err = biz.Registry.Get(service.Registry) - if err != nil { - return err - } - service.RegistryURL = registry.URL - } - } } networks, err := docker.NetworkList() @@ -177,11 +163,11 @@ func serviceNew(ctx web.Context) error { } checkedNetworks := data.NewSet() - checkedNetworks.AddSlice(service.Networks, func(i int) interface{} { - return service.Networks[i] + checkedNetworks.AddSlice(info.Networks, func(i int) interface{} { + return info.Networks[i] }) - m := newModel(ctx).Set("Service", service).Set("Registries", registries). + m := newModel(ctx).Set("Service", info).Set("Registries", registries). Set("Networks", networks).Set("CheckedNetworks", checkedNetworks). Set("Secrets", secrets).Set("Configs", configs) return ctx.Render("service/new", m) @@ -279,3 +265,9 @@ func serviceRollback(ctx web.Context) error { } return ajaxResult(ctx, err) } + +func servicePermEdit(ctx web.Context) error { + name := ctx.P("name") + m := newModel(ctx).Set("Name", name) + return permEdit(ctx, "service", name, "service/perm", m) +} diff --git a/controller/user.go b/controller/user.go index ee82d96..b6e4d97 100644 --- a/controller/user.go +++ b/controller/user.go @@ -18,6 +18,7 @@ type UserController struct { Block web.HandlerFunc `path:"/block" method:"post" name:"user.block" authorize:"!" desc:"block user"` Unblock web.HandlerFunc `path:"/unblock" method:"post" name:"user.unblock" authorize:"!" desc:"unblock user"` Delete web.HandlerFunc `path:"/delete" method:"post" name:"user.delete" authorize:"!" desc:"delete user"` + Search web.HandlerFunc `path:"/search" method:"post" name:"user.search" authorize:"?" desc:"search users"` } // User creates an instance of UserController @@ -32,6 +33,7 @@ func User() (c *UserController) { Block: userBlock, Unblock: userUnblock, Delete: userDelete, + Search: userSearch, } } @@ -159,3 +161,29 @@ func userDelete(ctx web.Context) error { err := biz.User.Delete(id) return ajaxResult(ctx, err) } + +func userSearch(ctx web.Context) error { + query := ctx.F("query") + args := &model.UserListArgs{ + Query: query, + PageIndex: 1, + PageSize: 10, + } + users, _, err := biz.User.List(args) + if err != nil { + return err + } + + type User struct { + ID string `json:"id"` + Name string `json:"name"` + } + list := make([]User, len(users)) + for i, user := range users { + list[i] = User{ + ID: user.ID, + Name: user.Name, + } + } + return ctx.JSON(list) +} diff --git a/dao/dao.go b/dao/dao.go index faaf981..423b98e 100644 --- a/dao/dao.go +++ b/dao/dao.go @@ -56,6 +56,10 @@ type Interface interface { EventCreate(event *model.Event) error EventList(args *model.EventListArgs) (events []*model.Event, count int, err error) + PermGet(resType, resID string) (*model.Perm, error) + PermUpdate(perm *model.Perm) error + PermDelete(resType, resID string) error + SettingGet() (setting *model.Setting, err error) SettingUpdate(setting *model.Setting) error } diff --git a/dao/mongo/mongo.go b/dao/mongo/mongo.go index f165593..73a86be 100644 --- a/dao/mongo/mongo.go +++ b/dao/mongo/mongo.go @@ -35,6 +35,9 @@ var ( "template": { mgo.Index{Key: []string{"name"}, Unique: true}, }, + "perm": { + mgo.Index{Key: []string{"res_type", "res_id"}, Unique: true}, + }, } ) diff --git a/dao/mongo/perm.go b/dao/mongo/perm.go new file mode 100644 index 0000000..b96bc88 --- /dev/null +++ b/dao/mongo/perm.go @@ -0,0 +1,53 @@ +package mongo + +import ( + "github.com/cuigh/swirl/model" + "gopkg.in/mgo.v2" + "gopkg.in/mgo.v2/bson" +) + +func (d *Dao) PermGet(resType, resID string) (p *model.Perm, err error) { + d.do(func(db *database) { + p = &model.Perm{} + q := bson.M{ + "res_type": resType, + "res_id": resID, + } + err = db.C("perm").Find(q).One(p) + if err == mgo.ErrNotFound { + p, err = nil, nil + } else if err != nil { + p = nil + } + }) + return +} + +func (d *Dao) PermUpdate(perm *model.Perm) (err error) { + d.do(func(db *database) { + q := bson.M{ + "res_type": perm.ResType, + "res_id": perm.ResID, + } + update := bson.M{ + "$set": bson.M{ + "scope": perm.Scope, + "roles": perm.Roles, + "users": perm.Users, + }, + } + _, err = db.C("perm").Upsert(q, update) + }) + return +} + +func (d *Dao) PermDelete(resType, resID string) (err error) { + d.do(func(db *database) { + q := bson.M{ + "res_type": resType, + "res_id": resID, + } + err = db.C("perm").Remove(q) + }) + return +} diff --git a/main.go b/main.go index 10304dc..5f8db13 100644 --- a/main.go +++ b/main.go @@ -24,7 +24,7 @@ func main() { misc.BindOptions() app.Name = "Swirl" - app.Version = "0.6.3" + app.Version = "0.6.4" app.Desc = "A web management UI for Docker, focused on swarm cluster" app.Action = func(ctx *app.Context) { misc.LoadOptions() @@ -91,7 +91,7 @@ func server() *web.Server { g.Handle("/profile", controller.Profile()) g.Handle("/registry", controller.Registry()) g.Handle("/node", controller.Node()) - g.Handle("/service", controller.Service()) + g.Handle("/service", controller.Service(), biz.Perm) g.Handle("/service/template", controller.Template()) g.Handle("/stack", controller.Stack()) g.Handle("/network", controller.Network()) diff --git a/model/auth.go b/model/auth.go index 16d1a4f..ebabd9c 100644 --- a/model/auth.go +++ b/model/auth.go @@ -65,6 +65,7 @@ type Session struct { type AuthUser struct { user *User + roles []*Role perms map[string]struct{} } @@ -74,6 +75,7 @@ func NewAuthUser(user *User, roles []*Role) *AuthUser { } u := &AuthUser{ user: user, + roles: roles, perms: make(map[string]struct{}), } for _, role := range roles { @@ -100,6 +102,15 @@ func (u *AuthUser) Admin() bool { return u.user.Admin } +func (u *AuthUser) IsInRole(roleID string) bool { + for _, role := range u.roles { + if role.ID == roleID { + return true + } + } + return false +} + func (u *AuthUser) IsAllowed(perm string) bool { if u.user.Admin { return true diff --git a/model/setting.go b/model/system.go similarity index 83% rename from model/setting.go rename to model/system.go index 56fa9ff..6dfe93d 100644 --- a/model/setting.go +++ b/model/system.go @@ -2,17 +2,26 @@ package model import "time" +// LDAP security policy const ( LDAPSecurityNone = 0 LDAPSecurityTLS = 1 LDAPSecurityStartTLS = 2 ) +// LDAP auth type const ( LDAPAuthSimple = 0 LDAPAuthBind = 1 ) +// Perm control scope +const ( + PermNone = 0 + PermWrite = 1 + PermReadWrite = 2 +) + // Setting represents the options of swirl. type Setting struct { LDAP struct { @@ -38,3 +47,12 @@ type Setting struct { UpdatedBy string `bson:"updated_by" json:"updated_by,omitempty"` UpdatedAt time.Time `bson:"updated_at" json:"updated_at,omitempty"` } + +// Perm holds permissions of Docker resource. +type Perm struct { + ResType string `json:"res_type"` + ResID string `json:"res_id"` + Scope int32 `json:"scope"` + Roles []string `json:"roles"` + Users []string `json:"users"` +} diff --git a/views/service/detail.jet b/views/service/detail.jet index 1204f33..301b092 100644 --- a/views/service/detail.jet +++ b/views/service/detail.jet @@ -29,6 +29,7 @@ {{ i18n("menu.raw") }} {{ i18n("menu.log") }} {{ i18n("menu.edit") }} + {{ i18n("menu.perm") }}
diff --git a/views/service/edit.jet b/views/service/edit.jet index c2dfa9d..e7c3df3 100644 --- a/views/service/edit.jet +++ b/views/service/edit.jet @@ -29,6 +29,7 @@ {{ i18n("menu.raw") }} {{ i18n("menu.log") }} {{ i18n("menu.edit") }} + {{ i18n("menu.perm") }} diff --git a/views/service/list.jet b/views/service/list.jet index 57ad304..bd5d6d2 100644 --- a/views/service/list.jet +++ b/views/service/list.jet @@ -31,9 +31,6 @@
-

- -

{{ i18n("button.new") }}

@@ -43,7 +40,6 @@ - @@ -54,7 +50,6 @@ {{range .Services}} -
{{ i18n("field.name") }} {{ i18n("field.image") }} Mode
{{.Name}} {{ limit(.Image, 60) }} diff --git a/views/service/logs.jet b/views/service/logs.jet index 86674ce..c5fb7aa 100644 --- a/views/service/logs.jet +++ b/views/service/logs.jet @@ -28,6 +28,7 @@ {{ i18n("menu.raw") }} {{ i18n("menu.log") }} {{ i18n("menu.edit") }} + {{ i18n("menu.perm") }} diff --git a/views/service/perm.jet b/views/service/perm.jet new file mode 100644 index 0000000..6d98908 --- /dev/null +++ b/views/service/perm.jet @@ -0,0 +1,104 @@ +{{ extends "_base" }} +{{ import "../_modules/form" }} + +{{ block script() }} + +{{ end }} + +{{ block body_content() }} + +
+
+
+

{{ .Name }}

+
+
+
+ +
+
+
+
+ +
+
+ {{ yield radio(name="scope", value=0, label="None", checked=.Perm.Scope) content }} data-type="integer"{{ end }} + {{ yield radio(name="scope", value=1, label="Write", checked=.Perm.Scope) content }} data-type="integer"{{ end }} + {{ yield radio(name="scope", value=2, label="Read & Write", checked=.Perm.Scope) content }} data-type="integer"{{ end }} +
+
+
+
+ +
+ {{ roles := .CheckedRoles }} + {{range .Roles}} + {{ yield checkbox(name="roles", value=.ID, label=.Name, checked=isset(roles[.ID])) }} + {{end}} +
+
+
+ + +
+ {{range .Users}} +
+
+ {{ .Name }} + + +
+
+ {{end}} +
+
+ {{ yield form_submit(url="/service/") }} +
+
+
+ +{{ end }} \ No newline at end of file diff --git a/views/service/raw.jet b/views/service/raw.jet index c1d9d97..de97da5 100644 --- a/views/service/raw.jet +++ b/views/service/raw.jet @@ -37,6 +37,7 @@ {{ i18n("menu.raw") }} {{ i18n("menu.log") }} {{ i18n("menu.edit") }} + {{ i18n("menu.perm") }}