mirror of
https://github.com/bitwarden/server.git
synced 2025-07-02 16:42:50 -05:00
limit edit functions to cloud hosted
This commit is contained in:
25
src/Core/Utilities/SelfHostedAttribute.cs
Normal file
25
src/Core/Utilities/SelfHostedAttribute.cs
Normal file
@ -0,0 +1,25 @@
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Bit.Core.Exceptions;
|
||||
|
||||
namespace Bit.Core.Utilities
|
||||
{
|
||||
public class SelfHostedAttribute : ActionFilterAttribute
|
||||
{
|
||||
public bool SelfHostedOnly { get; set; }
|
||||
public bool NotSelfHostedOnly { get; set; }
|
||||
|
||||
public override void OnActionExecuting(ActionExecutingContext context)
|
||||
{
|
||||
var globalSettings = context.HttpContext.RequestServices.GetRequiredService<GlobalSettings>();
|
||||
if(SelfHostedOnly && !globalSettings.SelfHosted)
|
||||
{
|
||||
throw new BadRequestException("Only allowed when self hosted.");
|
||||
}
|
||||
else if(NotSelfHostedOnly && globalSettings.SelfHosted)
|
||||
{
|
||||
throw new BadRequestException("Only allowed when not self hosted.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user