privilege

package
v0.0.0-...-ea486a4 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2017 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BindPrivilegeManager

func BindPrivilegeManager(ctx context.Context, pc Manager)

BindPrivilegeManager binds Manager to context.

Types

type Manager

type Manager interface {
	// Check checks privilege.
	// If tbl is nil, only check global/db scope privileges.
	// If tbl is not nil, check global/db/table scope privileges.
	Check(ctx context.Context, db *model.DBInfo, tbl *model.TableInfo, privilege mysql.PrivilegeType) (bool, error)
	// Show granted privileges for user.
	ShowGrants(ctx context.Context, user string) ([]string, error)

	// RequestVerification verifies user privilege for the request.
	RequestVerification(db, table, column string, priv mysql.PrivilegeType) bool
	// ConnectionVerification verifies user privilege for connection.
	ConnectionVerification(host, user string, auth, salt []byte) bool

	// DBIsVisible returns true is the database is visible to current user.
	DBIsVisible(db string) bool

	// UserPrivilegesTable provide data for INFORMATION_SCHEMA.USERS_PRIVILEGE table.
	UserPrivilegesTable() [][]types.Datum
}

Manager is the interface for providing privilege related operations.

func GetPrivilegeManager

func GetPrivilegeManager(ctx context.Context) Manager

GetPrivilegeManager gets Checker from context.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL