Skip to main content

RequiredPermissionAttribute

Protect access to this API to only Authenticated Users assigned with all specified Permissions

Assembly: ServiceStack.dll
View Source
Declaration
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class RequiredPermissionAttribute : AuthenticateAttribute, _Attribute, IHasRequestFilterAsync, IRequestFilterBase

Properties

RequiredPermissions

View Source
Declaration
public List<string> RequiredPermissions { get; set; }

Inherited Properties

HtmlRedirect

Redirect the client to a specific URL if authentication failed. If this property is null, simply 401 Unauthorized is returned.

View Source
Declaration
public string HtmlRedirect { get; set; }

Provider

Restrict authentication to a specific ServiceStack.Auth.IAuthProvider. For example, if this attribute should only permit access if the user is authenticated with ServiceStack.Auth.BasicAuthProvider, you should set this property to ServiceStack.Auth.BasicAuthProvider.Name.

View Source
Declaration
public string Provider { get; set; }

Methods

ExecuteAsync(IRequest, IResponse, Object)

View Source
Declaration
public override async Task ExecuteAsync(IRequest req, IResponse res, object requestDto)
Returns

System.Threading.Tasks.Task

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Web.IResponseres
System.ObjectrequestDto

HasAllPermissions(IRequest, IAuthSession, IAuthRepository)

View Source
Declaration
[Obsolete("Use HasAllPermissionsAsync")]
public bool HasAllPermissions(IRequest req, IAuthSession session, IAuthRepository authRepo)
Returns

System.Boolean

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Auth.IAuthSessionsession
ServiceStack.Auth.IAuthRepositoryauthRepo

HasAllPermissionsAsync(IRequest, IAuthSession, IAuthRepositoryAsync)

View Source
Declaration
public async Task<bool> HasAllPermissionsAsync(IRequest req, IAuthSession session, IAuthRepositoryAsync authRepo)
Returns

System.Threading.Tasks.Task<System.Boolean>

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Auth.IAuthSessionsession
ServiceStack.Auth.IAuthRepositoryAsyncauthRepo

HasAllPermissions(IRequest, IAuthSession, ICollection<String>)

View Source
Declaration
[Obsolete("Use HasAllPermissionsAsync")]
public static bool HasAllPermissions(IRequest req, IAuthSession session, ICollection<string> requiredPermissions)
Returns

System.Boolean

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Auth.IAuthSessionsession
System.Collections.Generic.ICollection<System.String>requiredPermissions

HasAllPermissionsAsync(IRequest, IAuthSession, ICollection<String>, CancellationToken)

View Source
Declaration
public static async Task<bool> HasAllPermissionsAsync(IRequest req, IAuthSession session, ICollection<string> requiredPermissions, CancellationToken token = default(CancellationToken))
Returns

System.Threading.Tasks.Task<System.Boolean>

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Auth.IAuthSessionsession
System.Collections.Generic.ICollection<System.String>requiredPermissions
System.Threading.CancellationTokentoken

AssertRequiredPermissions(IRequest, String[])

View Source
Declaration
[Obsolete("AssertRequiredPermissionsAsync")]
public static void AssertRequiredPermissions(IRequest req, params string[] requiredPermissions)
Parameters
TypeName
ServiceStack.Web.IRequestreq
System.String[]requiredPermissions

AssertRequiredPermissionsAsync(IRequest, String[], CancellationToken)

Check all session is in all supplied roles otherwise a 401 HttpError is thrown

View Source
Declaration
public static async Task AssertRequiredPermissionsAsync(IRequest req, string[] requiredPermissions, CancellationToken token = default(CancellationToken))
Returns

System.Threading.Tasks.Task

Parameters
TypeName
ServiceStack.Web.IRequestreq
System.String[]requiredPermissions
System.Threading.CancellationTokentoken

HasRequiredPermissionsAsync(IRequest, String[])

View Source
Declaration
public static Task<bool> HasRequiredPermissionsAsync(IRequest req, string[] requiredPermissions)
Returns

System.Threading.Tasks.Task<System.Boolean>

Parameters
TypeName
ServiceStack.Web.IRequestreq
System.String[]requiredPermissions

Equals(RequiredPermissionAttribute)

View Source
Declaration
protected bool Equals(RequiredPermissionAttribute other)
Returns

System.Boolean

Parameters
TypeName
ServiceStack.RequiredPermissionAttributeother

Equals(Object)

View Source
Declaration
public override bool Equals(object obj)
Returns

System.Boolean

Parameters
TypeName
System.Objectobj

GetHashCode()

View Source
Declaration
public override int GetHashCode()
Returns

System.Int32

Inherited Methods

AssertAuthenticated(IRequest, Object, IAuthSession, IAuthProvider[])

View Source
Declaration
[Obsolete("Use AuthenticateAsync")]
public static void AssertAuthenticated(IRequest req, object requestDto = null, IAuthSession session = null, IAuthProvider[] authProviders = null)
Parameters
TypeName
ServiceStack.Web.IRequestreq
System.ObjectrequestDto
ServiceStack.Auth.IAuthSessionsession
ServiceStack.Auth.IAuthProvider[]authProviders

AssertAuthenticatedAsync(IRequest, Object, IAuthSession, IAuthProvider[])

View Source
Declaration
public static async Task AssertAuthenticatedAsync(IRequest req, object requestDto = null, IAuthSession session = null, IAuthProvider[] authProviders = null)
Returns

System.Threading.Tasks.Task

Parameters
TypeName
ServiceStack.Web.IRequestreq
System.ObjectrequestDto
ServiceStack.Auth.IAuthSessionsession
ServiceStack.Auth.IAuthProvider[]authProviders

Authenticate(IRequest, Object, IAuthSession, IAuthProvider[])

View Source
Declaration
[Obsolete("Use AuthenticateAsync")]
public static bool Authenticate(IRequest req, object requestDto = null, IAuthSession session = null, IAuthProvider[] authProviders = null)
Returns

System.Boolean

Parameters
TypeName
ServiceStack.Web.IRequestreq
System.ObjectrequestDto
ServiceStack.Auth.IAuthSessionsession
ServiceStack.Auth.IAuthProvider[]authProviders

AuthenticateAsync(IRequest, Object, IAuthSession, IAuthProvider[])

View Source
Declaration
public static async Task<bool> AuthenticateAsync(IRequest req, object requestDto = null, IAuthSession session = null, IAuthProvider[] authProviders = null)
Returns

System.Threading.Tasks.Task<System.Boolean>

Parameters
TypeName
ServiceStack.Web.IRequestreq
System.ObjectrequestDto
ServiceStack.Auth.IAuthSessionsession
ServiceStack.Auth.IAuthProvider[]authProviders

Equals(AuthenticateAttribute)

View Source
Declaration
protected bool Equals(AuthenticateAttribute other)
Returns

System.Boolean

Parameters
TypeName
ServiceStack.AuthenticateAttributeother

Equals(Object)

View Source
Declaration
public override bool Equals(object obj)
Returns

System.Boolean

Parameters
TypeName
System.Objectobj

ExecuteAsync(IRequest, IResponse, Object)

View Source
Declaration
public override async Task ExecuteAsync(IRequest req, IResponse res, object requestDto)
Returns

System.Threading.Tasks.Task

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Web.IResponseres
System.ObjectrequestDto

GetHashCode()

View Source
Declaration
public override int GetHashCode()
Returns

System.Int32

HandleShortCircuitedErrors(IRequest, IResponse, Object, HttpStatusCode, String)

View Source
Declaration
protected virtual Task HandleShortCircuitedErrors(IRequest req, IResponse res, object requestDto, HttpStatusCode statusCode, string statusDescription = null)
Returns

System.Threading.Tasks.Task

Parameters
TypeName
ServiceStack.Web.IRequestreq
ServiceStack.Web.IResponseres
System.ObjectrequestDto
System.Net.HttpStatusCodestatusCode
System.StringstatusDescription

ThrowInvalidPermission(IRequest)

View Source
Declaration
public static void ThrowInvalidPermission(IRequest req = null)
Parameters
TypeName
ServiceStack.Web.IRequestreq

ThrowInvalidRole(IRequest)

View Source
Declaration
public static void ThrowInvalidRole(IRequest req = null)
Parameters
TypeName
ServiceStack.Web.IRequestreq

ThrowNotAuthenticated(IRequest)

View Source
Declaration
public static void ThrowNotAuthenticated(IRequest req = null)
Parameters
TypeName
ServiceStack.Web.IRequestreq

Implements