コード例 #1
0
ファイル: Permissions.cs プロジェクト: anurse/DungeonLog
 public static void RequireExactly(GamePermission has, GamePermission required)
 {
     if (has != required)
     {
         Context.Response.SetStatus(HttpStatusCode.Unauthorized);
     }
 }
コード例 #2
0
ファイル: Permissions.cs プロジェクト: anurse/DungeonLog
 public static void RequireAtLeast(GamePermission has, GamePermission required)
 {
     if (!IsAtLeast(has, required))
     {
         Context.Response.SetStatus(HttpStatusCode.Unauthorized);
     }
 }
コード例 #3
0
            private bool SubUserPermission(string permission)
            {
                var servicePermissions = GamePermission.GetServicePermissions(Service.ServiceId);

                if (servicePermissions.Count == 0)
                {
                    ThrowAccessDeniedError("No permissions linked to the service was found for this user.");
                }

                return(servicePermissions.Cast <GamePermission>().Any(gp =>
                                                                      gp.UserId == User.UserId && gp.SubUserAccess && gp.PermissionKey == permission));
            }
コード例 #4
0
            private bool SubAdminPermission(string permission)
            {
                var servicePermissions = GamePermission.GetGamePermissions(Service.GameId);

                if (servicePermissions.Count == 0)
                {
                    ThrowAccessDeniedError("No GamePermissions found for Sub Admins for this game.");
                }

                return(servicePermissions.Cast <GamePermission>()
                       .Any(gp => gp.SubAdminAccess && gp.PermissionKey == permission));
            }
コード例 #5
0
            private bool UserPermission(string permission)
            {
                var gamePermissions = GamePermission.GetGamePermissions(Service.GameId);

                if (gamePermissions.Count == 0)
                {
                    ThrowAccessDeniedError("No permissions linked to the service was found for this user.");
                }

                if (permission == "StartStop")
                {
                    return(true);
                }

                return(gamePermissions.Cast <GamePermission>()
                       .Any(gp => gp.UserAccess && gp.PermissionKey == permission && gp.ServiceId == Service.ServiceId));
            }
コード例 #6
0
ファイル: Permissions.cs プロジェクト: anurse/DungeonLog
 public static void RequireExactly(dynamic game, GamePermission required)
 {
     GamePermission perm = GetGamePermission(game);
     RequireExactly(perm, required);
 }
コード例 #7
0
ファイル: Permissions.cs プロジェクト: anurse/DungeonLog
 public static void RequireAtLeast(dynamic game, GamePermission required)
 {
     GamePermission perm = GetGamePermission(game);
     RequireAtLeast(perm, required);
 }
コード例 #8
0
ファイル: Permissions.cs プロジェクト: anurse/DungeonLog
 public static bool IsAtLeast(GamePermission has, GamePermission required)
 {
     return has <= required;
 }
コード例 #9
0
ファイル: Permissions.cs プロジェクト: anurse/DungeonLog
 public static bool IsAtLeast(dynamic game, GamePermission required)
 {
     return IsAtLeast(GetGamePermission(game), required);
 }