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​