Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ViewOnlyAuthority.cs
1using System;
2
4{
9 {
10 private readonly string[] dataSourceIds;
11
16 public ViewOnlyAuthority(string From)
17 : this(From, null, null, null, (string[])null)
18 {
19 }
20
28 public ViewOnlyAuthority(string From, string[] DeviceTokens, string[] ServiceTokens,
29 string[] UserTokens)
30 : this(From, DeviceTokens, ServiceTokens, UserTokens, null)
31 {
32 }
33
39 public ViewOnlyAuthority(string From, params string[] DataSourceIds)
40 : this(From, null, null, null, DataSourceIds)
41 {
42 }
43
52 public ViewOnlyAuthority(string From, string[] DeviceTokens, string[] ServiceTokens,
53 string[] UserTokens, params string[] DataSourceIds)
54 : base(From, DeviceTokens, ServiceTokens, UserTokens)
55 {
56 this.dataSourceIds = DataSourceIds;
57 }
58
64 public override bool HasPrivilege(string Privilege)
65 {
66 string[] Parts = Privilege?.Split(':');
67 if ((Parts?.Length ?? 0) < 2)
68 return false;
69
70 if (Parts[0] != "Source")
71 return false;
72
73 if (!(this.dataSourceIds is null) &&
74 Array.IndexOf(this.dataSourceIds, Parts[1]) < 0)
75 {
76 return false;
77 }
78
79 switch (Parts.Length)
80 {
81 case 3:
82 return Parts[2] == "View";
83
84 case 4:
85 return Parts[2] == "Node" && Parts[3] == "View";
86
87 default:
88 return false;
89 }
90 }
91 }
92}
Abstract base class for authorities.
Definition: Authority.cs:9
Origin of request has view-only authority.
ViewOnlyAuthority(string From, string[] DeviceTokens, string[] ServiceTokens, string[] UserTokens)
Origin of request has view-only authority in a all data sources.
ViewOnlyAuthority(string From, string[] DeviceTokens, string[] ServiceTokens, string[] UserTokens, params string[] DataSourceIds)
Origin of request has view-only authority in a specific set of data sources.
ViewOnlyAuthority(string From)
Origin of request has view-only authority in a all data sources.
ViewOnlyAuthority(string From, params string[] DataSourceIds)
Origin of request has view-only authority in a specific set of data sources.
override bool HasPrivilege(string Privilege)
If the origin has a given privilege.