示例#1
0
        public AwAuthorization(params string[] roles) : base()
        {
            var rolesList = new List <string>(roles);

            if (rolesList.Contains(MgiAwRole.TellerManagerAdmin))
            {
                Roles = MgiAwRole.GetApplicationDefinedRoles(MgiAwRole.TellerManagerAdmin);
                rolesList.Remove(MgiAwRole.TellerManagerAdmin);
            }

            if (rolesList.Any())
            {
                if (!string.IsNullOrEmpty(Roles))
                {
                    Roles += ",";
                }
                Roles += string.Join(",", rolesList);
            }
        }
        public static List <string> CheckCamsClaims(List <Claim> claims)
        {
            var expectedClaims = new List <string>();

            expectedClaims.AddRange(ExpectedOpenAmClaims);

            if (!MgiAwRole.IsInTransactionalRole(claims))
            {
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxBillPayAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxAmendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxMoneyOrderAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxVendorPaymentAmount);
            }

            return(Compare(claims, expectedClaims));
        }
        public static List <string> CheckAll(List <Claim> claims, bool ignoreRoles = false)
        {
            var expectedClaims = new List <string>();

            expectedClaims.AddRange(ExpectedOpenAmClaims);
            expectedClaims.AddRange(ExpectedPartnerServiceClaims);
            expectedClaims.AddRange(ExpectedAgentProfileClaims);
            if (ignoreRoles)
            {
                expectedClaims.Remove(ClaimsNames.Roles);
            }
            if (!MgiAwRole.IsInTransactionalRole(claims))
            {
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxBillPayAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxAmendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxMoneyOrderAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxVendorPaymentAmount);
            }
            return(Compare(claims, expectedClaims));
        }