基本上,我正在创建我的第一个WCF Web服务,我正在寻求实现自定义身份验证和授权.身份验证似乎运行良好,但我希望能够使用自定义授权存储角色和权限.
我的身份验证是通过覆盖UserNamePasswordValidator和使用该Validate方法完成的.
Validate(string UserName, string password)
Run Code Online (Sandbox Code Playgroud)
现在我尝试使用该IAuthorizationPolicy接口实现授权
public class AuthorizationPolicy : IAuthorizationPolicy
{
private string _id;
public string Id
{
get { return this._id; }
}
public ClaimSet Issuer
{
get { return ClaimSet.System; }
}
public AuthorizationPolicy()
{
_id = Guid.NewGuid().ToString();
}
public bool Evaluate(EvaluationContext context, ref object state)
{
IIdentity client = GetClientIdentity(context);
context.Properties["Principal"] = new CustomPrincipal(client);
return true;
}
private IIdentity GetClientIdentity(EvaluationContext evaluationContext)
{
object obj;
if (!evaluationContext.Properties.TryGetValue("Identities", out obj)) …Run Code Online (Sandbox Code Playgroud) 我们目前正在尝试使用XmlSerializer.Serialize将一组对象序列化为xml
我们已经使用以下存根测试了XmlSerializer
private static void TestMethod()
{
ChartContentConfig Config = new ChartContentConfig();
Config.DefinitionId = "6790e2ca-be93-48dd-94e7-f8ec0f6e5fd4";
Config.Sorts = null;
Config.DataFields = new DataField[1];
Config.DataFields[0] = new DataField()
{
Aggregator = AggregateFunction.Sum,
ApplyFilter = ApplyFilter.Before,
FieldName = "Hello",
FieldType = typeof(decimal).ToString(),
FilterToValue = "",
FilterFromValue = "",
FilterOperator = FilterOperator.None,
IsVisible = false,
DisplayName = "Hello",
DefaultStyle = "DefaultFormat"
};
Type configType = typeof(DataField);
DataField DataField = Config.DataFields[0];
DataField.MarkerFormat = "MarkerFormatTest";
DataField.SeriesColour = "SeriesColourTest";
DataField.TestProperty = AggregateFunction.Average;
DataField.Aggregator = AggregateFunction.Average;
string test …Run Code Online (Sandbox Code Playgroud)