public static Task <bool> CheckAccessAsync(this HttpRequestMessage request, IEnumerable <Claim> actions, IEnumerable <Claim> resources) { var authorizationContext = new ResourceAuthorizationContext( request.GetOwinContext().Authentication.User ?? Principal.Anonymous, actions, resources); return(request.CheckAccessAsync(authorizationContext)); }
public static Task <bool> CheckAccessAsync(this HttpRequestMessage request, string action, params string[] resources) { var authorizationContext = new ResourceAuthorizationContext( request.GetOwinContext().Authentication.User ?? Principal.Anonymous, action, resources); return(request.CheckAccessAsync(authorizationContext)); }
public static Task <bool> CheckAccessAsync(this HttpRequestMessage request, string action, params string[] resources) { var user = request.GetRequestContext().Principal as ClaimsPrincipal; user = user ?? Principal.Anonymous; var ctx = new ResourceAuthorizationContext(user, action, resources); return(request.CheckAccessAsync(ctx)); }
protected virtual bool CheckAccess(HttpRequestMessage request, Claim[] actions, params Claim[] resources) { var task = request.CheckAccessAsync(actions, resources); if (task.Wait(5000)) { return task.Result; } else { throw new TimeoutException(); } }
private async Task<bool> CheckAccessAsync(HttpRequestMessage request, Claim[] actions, params Claim[] resources) { var task = request.CheckAccessAsync(actions, resources); if (await Task.WhenAny(task, Task.Delay(5000)).ConfigureAwait(false) == task) { // Task completed within timeout. // The task may have faulted or been cancelled. // We re-await the task so that any exceptions/cancellation is rethrown. var result = await task.ConfigureAwait(false); return result; } else { // timeout logic throw new TimeoutException(); } }
public static bool CheckAccess(this HttpRequestMessage request, string action, params string[] resources) { return(AsyncHelper.RunSync(() => request.CheckAccessAsync(action, resources))); }