C# 如何在一次调用中从AzMan获取所有配置的操作?

C# 如何在一次调用中从AzMan获取所有配置的操作?,c#,azman,C#,Azman,我正在.NETC应用程序中使用授权管理器。在应用程序启动期间,我缓存用户有权访问的所有操作,然后使用此缓存数据进行进一步处理。问题是-我一次只能检查一个操作的访问权限,因此,如果我在azman中有100个操作,并且用户只为5个规则设置了访问权限,那么我仍然需要向azman发出100个调用以获取所有设置的规则。是否有任何方法可以仅在一次调用中获取用户的所有配置规则?IAzClientContext.AccessCheck允许您传入操作ID数组 我是这样做的: public Tuple<boo

我正在.NETC应用程序中使用授权管理器。在应用程序启动期间,我缓存用户有权访问的所有操作,然后使用此缓存数据进行进一步处理。问题是-我一次只能检查一个操作的访问权限,因此,如果我在azman中有100个操作,并且用户只为5个规则设置了访问权限,那么我仍然需要向azman发出100个调用以获取所有设置的规则。是否有任何方法可以仅在一次调用中获取用户的所有配置规则?

IAzClientContext.AccessCheck允许您传入操作ID数组

我是这样做的:

public Tuple<bool, List<int>> AccessCheck(string auditObjectName, List<string> scopeNames, List<int> operations, SortedList<string, string> parameters)
    {
        object[] operationsArray = operations.ConvertAll(i => (object)i).ToArray();
        ...
        object o = _context.AccessCheck(auditObjectName, (object)scopeNameArray, (object)operationsArray, (object)parameterNames, (object)parameterValues, null, null, null);
        object[] oArray = (object[])o;
        int[] authorizedOperationsArray = Array.ConvertAll(oArray, obj => (int)obj);
        ...
我还没有测试过它能处理多少,我通常一次只测试一个。但从理论上讲,这是可行的

我也没有尝试对多个作用域执行此操作,我必须使用旧的AzMan 1.0模式,该模式在AccessCheck中不支持多个作用域