Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.ServiceModel.Security
{
using System.Runtime.CompilerServices;
using System.Security.Principal;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.Web.Security;
sealed class RoleProviderPrincipal : IPrincipal
{
object roleProvider;
ServiceSecurityContext securityContext;
public RoleProviderPrincipal(object roleProvider, ServiceSecurityContext securityContext)
{
this.roleProvider = roleProvider;
this.securityContext = securityContext;
}
public IIdentity Identity
{
get { return this.securityContext.PrimaryIdentity; }
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool IsInRole(string role)
{
RoleProvider roleProvider = (this.roleProvider as RoleProvider) ?? SystemWebHelper.GetDefaultRoleProvider();
if (roleProvider != null)
{
return roleProvider.IsUserInRole(this.securityContext.PrimaryIdentity.Name, role);
}
return false;
}
}
}