privilege

package
v2.1.0-rc.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2018 License: Apache-2.0 Imports: 4 Imported by: 1,141

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BindPrivilegeManager

func BindPrivilegeManager(ctx sessionctx.Context, pc Manager)

BindPrivilegeManager binds Manager to context.

Types

type Manager

type Manager interface {
	// ShowGrants shows granted privileges for user.
	ShowGrants(ctx sessionctx.Context, user *auth.UserIdentity) ([]string, error)

	// RequestVerification verifies user privilege for the request.
	// If table is "", only check global/db scope privileges.
	// If table is not "", check global/db/table scope privileges.
	// priv should be a defined constant like CreatePriv, if pass AllPrivMask to priv,
	// this means any privilege would be OK.
	RequestVerification(db, table, column string, priv mysql.PrivilegeType) bool
	// ConnectionVerification verifies user privilege for connection.
	ConnectionVerification(user, host 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 sessionctx.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