Documentation
¶
Index ¶
- Constants
- type Condition
- type IUconEnforcer
- type Obligation
- type Session
- func (s *Session) GetAction() string
- func (s *Session) GetAttribute(key string) interface{}
- func (s *Session) GetDuration() time.Duration
- func (s *Session) GetEndTime() time.Time
- func (s *Session) GetId() string
- func (s *Session) GetObject() string
- func (s *Session) GetStartTime() time.Time
- func (s *Session) GetStopReason() string
- func (s *Session) GetSubject() string
- func (s *Session) IfActive() bool
- func (s *Session) Stop(reason string) error
- func (s *Session) UpdateAttribute(key string, val interface{}) error
- type SessionManager
- func (sm *SessionManager) CreateSession(sub string, act string, obj string, attributes map[string]interface{}) (string, error)
- func (sm *SessionManager) DeleteSession(sessionID string) error
- func (sm *SessionManager) GetSessionById(id string) (*Session, error)
- func (sm *SessionManager) UpdateSessionAttribute(sessionID string, key string, val interface{}) error
- type UconEnforcer
- func (u *UconEnforcer) AddCondition(condition *Condition) error
- func (u *UconEnforcer) AddObligation(obligation *Obligation) error
- func (u *UconEnforcer) CreateSession(sub string, act string, obj string, attributes map[string]interface{}) (string, error)
- func (u *UconEnforcer) EnforceWithSession(sessionID string) (*Session, error)
- func (u *UconEnforcer) EvaluateConditions(sessionID string) (bool, error)
- func (u *UconEnforcer) ExecuteObligations(sessionID string) error
- func (u *UconEnforcer) ExecuteObligationsByType(sessionID string, kind string) error
- func (u *UconEnforcer) GetSession(sessionID string) (*Session, error)
- func (u *UconEnforcer) RevokeSession(sessionID string) error
- func (u *UconEnforcer) StartMonitoring(sessionID string) error
- func (u *UconEnforcer) StopMonitoring(sessionID string) error
- func (u *UconEnforcer) UpdateSessionAttribute(sessionID string, key string, val interface{}) error
Constants ¶
const (
NormalStopReason = ""
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IUconEnforcer ¶
type IUconEnforcer interface {
// Inherit Casbin basic functionality
casbin.IEnforcer
// Enhanced enforcement with session context
EnforceWithSession(sessionID string) (*Session, error)
// Session management
CreateSession(sub string, act string, obj string, attributes map[string]interface{}) (string, error)
GetSession(sessionID string) (*Session, error)
UpdateSessionAttribute(sessionID string, key string, val interface{}) error
RevokeSession(sessionID string) error
// Condition evaluation
AddCondition(condition *Condition) error
EvaluateConditions(sessionID string) (bool, error)
// Obligation management
AddObligation(obligation *Obligation) error
ExecuteObligations(sessionID string) error
ExecuteObligationsByType(sessionID string, phase string) error
// Continuous monitoring
StartMonitoring(sessionID string) error
StopMonitoring(sessionID string) error
}
IUconEnforcer is the API interface of UconEnforcer.
func NewUconEnforcer ¶
func NewUconEnforcer(e *casbin.Enforcer) IUconEnforcer
NewUconEnforcer creates a new UCON enforcer.
type Obligation ¶
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
func (*Session) GetAttribute ¶ added in v1.1.0
func (*Session) GetDuration ¶ added in v1.1.0
func (*Session) GetEndTime ¶ added in v1.1.0
func (*Session) GetStartTime ¶ added in v1.1.0
func (*Session) GetStopReason ¶ added in v1.1.0
func (*Session) GetSubject ¶ added in v1.1.0
func (*Session) UpdateAttribute ¶ added in v1.1.0
type SessionManager ¶ added in v1.1.0
type SessionManager struct {
// contains filtered or unexported fields
}
func NewSessionManager ¶ added in v1.1.0
func NewSessionManager() *SessionManager
func (*SessionManager) CreateSession ¶ added in v1.1.0
func (*SessionManager) DeleteSession ¶ added in v1.1.0
func (sm *SessionManager) DeleteSession(sessionID string) error
func (*SessionManager) GetSessionById ¶ added in v1.1.0
func (sm *SessionManager) GetSessionById(id string) (*Session, error)
func (*SessionManager) UpdateSessionAttribute ¶ added in v1.1.0
func (sm *SessionManager) UpdateSessionAttribute(sessionID string, key string, val interface{}) error
type UconEnforcer ¶
type UconEnforcer struct {
*casbin.Enforcer // Embed casbin.Enforcer for backward compatibility
// contains filtered or unexported fields
}
UconEnforcer UCON enforcer that wraps casbin.Enforcer and extends UCON functionality.
func (*UconEnforcer) AddCondition ¶
func (u *UconEnforcer) AddCondition(condition *Condition) error
AddCondition adds a condition.
func (*UconEnforcer) AddObligation ¶
func (u *UconEnforcer) AddObligation(obligation *Obligation) error
AddObligation adds an obligation.
func (*UconEnforcer) CreateSession ¶
func (u *UconEnforcer) CreateSession(sub string, act string, obj string, attributes map[string]interface{}) (string, error)
CreateSession creates a new session.
func (*UconEnforcer) EnforceWithSession ¶
func (u *UconEnforcer) EnforceWithSession(sessionID string) (*Session, error)
EnforceWithSession performs enforcement with session context.
func (*UconEnforcer) EvaluateConditions ¶
func (u *UconEnforcer) EvaluateConditions(sessionID string) (bool, error)
EvaluateConditions evaluates all conditions for a session.
func (*UconEnforcer) ExecuteObligations ¶
func (u *UconEnforcer) ExecuteObligations(sessionID string) error
ExecuteObligations executes all obligations for a session (backward compatibility).
func (*UconEnforcer) ExecuteObligationsByType ¶
func (u *UconEnforcer) ExecuteObligationsByType(sessionID string, kind string) error
ExecuteObligationsByPhase executes obligations for a specific type.
func (*UconEnforcer) GetSession ¶
func (u *UconEnforcer) GetSession(sessionID string) (*Session, error)
GetSession retrieves session information.
func (*UconEnforcer) RevokeSession ¶
func (u *UconEnforcer) RevokeSession(sessionID string) error
RevokeSession revokes a session.
func (*UconEnforcer) StartMonitoring ¶
func (u *UconEnforcer) StartMonitoring(sessionID string) error
StartMonitoring starts monitoring a session.
func (*UconEnforcer) StopMonitoring ¶
func (u *UconEnforcer) StopMonitoring(sessionID string) error
StopMonitoring stops monitoring a session.
func (*UconEnforcer) UpdateSessionAttribute ¶
func (u *UconEnforcer) UpdateSessionAttribute(sessionID string, key string, val interface{}) error