You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
132
mcs/class/referencesource/System.Web/IntSecurity.cs
Normal file
132
mcs/class/referencesource/System.Web/IntSecurity.cs
Normal file
@ -0,0 +1,132 @@
|
||||
namespace System.Web {
|
||||
using System.Web;
|
||||
using System.Web.Util;
|
||||
using System.Security;
|
||||
using System.Security.Permissions;
|
||||
|
||||
internal static class InternalSecurityPermissions {
|
||||
|
||||
private static IStackWalk _unrestricted;
|
||||
private static IStackWalk _unmanagedCode;
|
||||
private static IStackWalk _controlPrincipal;
|
||||
private static IStackWalk _reflection;
|
||||
private static IStackWalk _appPathDiscovery;
|
||||
private static IStackWalk _controlThread;
|
||||
private static IStackWalk _levelLow;
|
||||
private static IStackWalk _levelMedium;
|
||||
private static IStackWalk _levelHigh;
|
||||
|
||||
//
|
||||
// Static permissions as properties, created on demand
|
||||
//
|
||||
|
||||
internal static IStackWalk Unrestricted {
|
||||
get {
|
||||
if (_unrestricted == null)
|
||||
_unrestricted = new PermissionSet(PermissionState.Unrestricted);
|
||||
|
||||
Debug.Trace("Permissions", "Unrestricted Set");
|
||||
return _unrestricted;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk UnmanagedCode {
|
||||
get {
|
||||
if (_unmanagedCode == null)
|
||||
_unmanagedCode = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
|
||||
|
||||
Debug.Trace("Permissions", "UnmanagedCode");
|
||||
return _unmanagedCode;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk ControlPrincipal {
|
||||
get {
|
||||
if (_controlPrincipal == null)
|
||||
_controlPrincipal = new SecurityPermission(SecurityPermissionFlag.ControlPrincipal);
|
||||
|
||||
Debug.Trace("Permissions", "ControlPrincipal");
|
||||
return _controlPrincipal;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk Reflection {
|
||||
get {
|
||||
if (_reflection == null)
|
||||
_reflection = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
|
||||
|
||||
Debug.Trace("Permissions", "Reflection");
|
||||
return _reflection;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk AppPathDiscovery {
|
||||
get {
|
||||
if (_appPathDiscovery == null)
|
||||
_appPathDiscovery = new FileIOPermission(FileIOPermissionAccess.PathDiscovery, HttpRuntime.AppDomainAppPathInternal);
|
||||
|
||||
Debug.Trace("Permissions", "AppPathDiscovery");
|
||||
return _appPathDiscovery;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk ControlThread {
|
||||
get {
|
||||
if (_controlThread == null)
|
||||
_controlThread = new SecurityPermission(SecurityPermissionFlag.ControlThread);
|
||||
|
||||
Debug.Trace("Permissions", "ControlThread");
|
||||
return _controlThread;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk AspNetHostingPermissionLevelLow {
|
||||
get {
|
||||
if (_levelLow == null)
|
||||
_levelLow = new AspNetHostingPermission(AspNetHostingPermissionLevel.Low);
|
||||
|
||||
Debug.Trace("Permissions", "AspNetHostingPermissionLevelLow");
|
||||
return _levelLow;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk AspNetHostingPermissionLevelMedium {
|
||||
get {
|
||||
if (_levelMedium == null)
|
||||
_levelMedium = new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium);
|
||||
|
||||
Debug.Trace("Permissions", "AspNetHostingPermissionLevelMedium");
|
||||
return _levelMedium;
|
||||
}
|
||||
}
|
||||
|
||||
internal static IStackWalk AspNetHostingPermissionLevelHigh {
|
||||
get {
|
||||
if (_levelHigh == null)
|
||||
_levelHigh = new AspNetHostingPermission(AspNetHostingPermissionLevel.High);
|
||||
|
||||
Debug.Trace("Permissions", "AspNetHostingPermissionLevelHigh");
|
||||
return _levelHigh;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Parameterized permissions
|
||||
|
||||
internal static IStackWalk FileReadAccess(String filename) {
|
||||
Debug.Trace("Permissions", "FileReadAccess(" + filename + ")");
|
||||
return new FileIOPermission(FileIOPermissionAccess.Read, filename);
|
||||
}
|
||||
|
||||
internal static IStackWalk FileWriteAccess(String filename) {
|
||||
Debug.Trace("Permissions", "FileWriteAccess(" + filename + ")");
|
||||
return new FileIOPermission(FileIOPermissionAccess.Write | FileIOPermissionAccess.Append, filename);
|
||||
}
|
||||
|
||||
internal static IStackWalk PathDiscovery(String path) {
|
||||
Debug.Trace("Permissions", "PathDiscovery(" + path + ")");
|
||||
return new FileIOPermission(FileIOPermissionAccess.PathDiscovery, path);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user