예제 #1
0
        private bool ValidateIP(IPEndPoint remoteAddress, DefaultLoginValidatorAccountInfo accountInfo)
        {
            if (accountInfo.IPWhiteList == null || accountInfo.IPWhiteList.Count == 0)
            {
                return(true);
            }

            var ip = remoteAddress.Address.ToIPString();

            foreach (var allowedIP in accountInfo.IPWhiteList)
            {
                if (ip == allowedIP)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #2
0
        private bool ValidateSignature(string accountName, string timestamp, string noncestr, string signature, DefaultLoginValidatorAccountInfo accountInfo)
        {
            //签名算法:MD5(accountName=XXX&noncestr=XXX&timestamp=XXX&accountKey=XXX)
            var calcSignature = CryptographyUtils.GetDefaultSignature(accountName, noncestr, timestamp, accountInfo.AccountKey);

            return(calcSignature == signature);
        }