/// <summary> /// Initializes a new instance of the ClientContext class to send to client /// </summary> /// <param name="context">AuthZyin context</param> public ClientContext(IAuthZyinContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } this.UserContext = context.UserContext; this.Policies = context.Policies.Select(x => new ClientPolicy(x.name, x.policy)).ToList(); this.Data = context.GetData(); }
/// <summary> /// Initializes a new intance of AuthZyinHandler /// </summary> /// <param name="authZyinContext">AuthZyin context for authorization</param> /// <param name="logger">logger instance</param> public AuthZyinHandler(IAuthZyinContext authZyinContext, ILogger <AuthZyinHandler> logger) { this.authZyinContext = authZyinContext ?? throw new ArgumentNullException(nameof(authZyinContext)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Evaluate method implementation. /// </summary> /// <param name="context">authorization data context</param> /// <param name="resource">resource object</param> /// <remarks> Not implemented on the server since we don't use this. This is just used to seriaze the RequiresRoleRequirement to the client.</remarks> /// <returns>true if allowed</returns> public override bool Evaluate(IAuthZyinContext context, object resource) { throw new NotImplementedException(); }
/// <summary> /// Initializes a new instance of AuthZyinController /// </summary> /// <param name="context">authorization context</param> public AuthZyinController(IAuthZyinContext context) { this.authZyinContext = context ?? throw new ArgumentNullException(nameof(context)); }
/// <summary> // Evaluate current requirement against given user and resource /// </summary> /// <param name="context">authorization data context</param> /// <param name="resource">resource object</param> /// <returns>true if allowed</returns> public abstract bool Evaluate(IAuthZyinContext context, object resource);