Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: milo/appengine/common/acl.go

Issue 2949783002: [milo] appengine/* -> * (Closed)
Patch Set: rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « milo/api/resp/console.go ('k') | milo/appengine/common/acl_test.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file.
4
5 package common
6
7 import (
8 "golang.org/x/net/context"
9
10 "github.com/luci/luci-go/luci_config/common/cfgtypes"
11 "github.com/luci/luci-go/luci_config/server/cfgclient/access"
12 "github.com/luci/luci-go/luci_config/server/cfgclient/backend"
13 "github.com/luci/luci-go/server/auth"
14 )
15
16 // Helper functions for ACL checking.
17
18 // IsAllowed checks to see if the user in the context is allowed to access
19 // the given project.
20 func IsAllowed(c context.Context, project string) (bool, error) {
21 // Get the project, because that's where the ACLs lie.
22 err := access.Check(
23 c, backend.AsUser,
24 cfgtypes.ProjectConfigSet(cfgtypes.ProjectName(project)))
25 switch err {
26 case nil:
27 return true, nil
28 case access.ErrNoAccess:
29 return false, nil
30 default:
31 return false, err
32 }
33 }
34
35 // IsAllowedInternal is a shorthand for checking to see if the user is a reader
36 // of a magic project named "chrome".
37 func IsAllowedInternal(c context.Context) (bool, error) {
38 settings := GetSettings(c)
39 if settings.Buildbot.InternalReader == "" {
40 return false, nil
41 }
42 return auth.IsMember(c, settings.Buildbot.InternalReader)
43 }
OLDNEW
« no previous file with comments | « milo/api/resp/console.go ('k') | milo/appengine/common/acl_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698