本文整理汇总了C#中System.IdentityModel.Services.ClaimsPrincipalPermission类的典型用法代码示例。如果您正苦于以下问题:C# ClaimsPrincipalPermission类的具体用法?C# ClaimsPrincipalPermission怎么用?C# ClaimsPrincipalPermission使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClaimsPrincipalPermission类属于System.IdentityModel.Services命名空间,在下文中一共展示了ClaimsPrincipalPermission类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
//引入命名空间
using System;
using System.Security.Permissions;
using System.Security.Principal;
using System.Threading;
using System.Security.Claims;
using System.IdentityModel.Services;
namespace ClaimsBasedAuthorization
{
/// <summary>
/// Program illustrates using Claims-based authorization
/// </summary>
class Program
{
static void Main(string[] args)
{
//
// Method 1. Simple access check using static method.
// Expect this to be most common method.
//
ClaimsPrincipalPermission.CheckAccess("resource", "action");
//
// Method 2. Programmatic check using the permission class
// Follows model found at http://msdn.microsoft.com/library/system.security.permissions.principalpermission.aspx
//
ClaimsPrincipalPermission cpp = new ClaimsPrincipalPermission("resource", "action");
cpp.Demand();
//
// Method 3. Access check interacting directly with the authorization manager.
//
ClaimsAuthorizationManager am = new ClaimsAuthorizationManager();
am.CheckAccess(new AuthorizationContext((ClaimsPrincipal)Thread.CurrentPrincipal, "resource", "action"));
//
// Method 4. Call a method that is protected using the permission attribute class
//
ProtectedMethod();
Console.WriteLine("Press [Enter] to continue.");
Console.ReadLine();
}
//
// Declarative access check using the permission class. The caller must satisfy both demands.
//
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource", Operation = "action")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource1", Operation = "action1")]
static void ProtectedMethod()
{
}
}
}