btcpayserver/BTCPayServer/Security/ServerPolicies.cs

29 lines
860 B
C#
Raw Normal View History

2020-06-28 21:44:35 -05:00
using BTCPayServer.Client;
2020-03-19 19:11:15 +09:00
using Microsoft.AspNetCore.Authorization;
2018-04-30 02:33:42 +09:00
namespace BTCPayServer.Security
{
public static class ServerPolicies
2018-04-30 02:33:42 +09:00
{
public static AuthorizationOptions AddBTCPayPolicies(this AuthorizationOptions options)
{
foreach (var p in Policies.AllPolicies)
2020-03-19 19:11:15 +09:00
{
options.AddPolicy(p);
}
options.AddPolicy(Policies.CanModifyStoreSettingsUnscoped);
2019-10-12 20:35:30 +09:00
options.AddPolicy(CanGetRates.Key);
2018-04-30 02:33:42 +09:00
return options;
}
2019-10-12 20:35:30 +09:00
public static void AddPolicy(this AuthorizationOptions options, string policy)
2018-04-30 02:33:42 +09:00
{
2019-10-12 20:35:30 +09:00
options.AddPolicy(policy, o => o.AddRequirements(new PolicyRequirement(policy)));
2018-04-30 02:33:42 +09:00
}
2019-10-12 20:35:30 +09:00
public class CanGetRates
{
public const string Key = "btcpay.store.cangetrates";
}
2018-04-30 02:33:42 +09:00
}
}