policy

package
Version: v0.0.0-...-699163f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package policy offers management capabilities for access control policies. To read up on policies, go to:

- https://github.com/ory-am/ladon

- https://ory-am.gitbooks.io/hydra/content/policy.html

Contains source files:

- handler.go: A HTTP handler capable of managing policies.

- warden_http.go: A Go API using HTTP to validate managing policies.

- warden_test.go: Functional tests all of the above.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSQLManager

func NewSQLManager(db *sqlx.DB) (ladon.Manager, error)

Types

type HTTPManager

type HTTPManager struct {
	Endpoint *url.URL
	Dry      bool
	Client   *http.Client
}

func (*HTTPManager) Create

func (m *HTTPManager) Create(policy ladon.Policy) error

Create persists the policy.

func (*HTTPManager) Delete

func (m *HTTPManager) Delete(id string) error

Delete removes a policy.

func (*HTTPManager) FindPoliciesForSubject

func (m *HTTPManager) FindPoliciesForSubject(subject string) (ladon.Policies, error)

Finds all policies associated with the subject.

func (*HTTPManager) Get

func (m *HTTPManager) Get(id string) (ladon.Policy, error)

Get retrieves a policy.

func (*HTTPManager) Update

func (m *HTTPManager) Update(policy ladon.Policy) error

Update the policy.

type Handler

type Handler struct {
	Manager ladon.Manager
	H       herodot.Herodot
	W       firewall.Firewall
}

func (*Handler) Create

func (h *Handler) Create(w http.ResponseWriter, r *http.Request, _ httprouter.Params)

func (*Handler) Delete

func (h *Handler) Delete(w http.ResponseWriter, r *http.Request, ps httprouter.Params)

func (*Handler) Find

func (*Handler) Get

func (*Handler) SetRoutes

func (h *Handler) SetRoutes(r *httprouter.Router)

func (*Handler) Update

func (h *Handler) Update(w http.ResponseWriter, r *http.Request, ps httprouter.Params)

type Manager

type Manager interface {
	ladon.Manager

	// Update a policy.
	Update(policy ladon.Policy) error
}

Manager is responsible for managing and persisting policies.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL