Ejemplo n.º 1
0
        public void Kerberos_SingleRealm_ADSource_User_Only()
        {
            CLAIMS_SET?claims = GetADUserClaims_SingleRealm(
                this.testConfig.LocalRealm.RealmName,
                this.testConfig.LocalRealm.User[2].Username,
                this.testConfig.LocalRealm.User[2].Password,
                this.testConfig.LocalRealm.KDC[0].IPAddress,
                this.testConfig.LocalRealm.FileServer[0].DefaultServiceName,
                this.testConfig.LocalRealm.FileServer[0].Password);

            BaseTestSite.Assert.IsTrue(claims.HasValue, "CLAIMS_SET is returned for user claims");

            CLAIMS_SET val = claims.Value;

            BaseTestSite.Log.Add(LogEntryKind.Checkpoint, "Start load claims from ad");
            string ClaimLocalforestUserDN = "cn=" + this.testConfig.LocalRealm.User[2].Username + ",cn=users,dc=" + this.testConfig.LocalRealm.RealmName.Replace(".", ",dc=");

            ClaimHelper.LoadClaims(ClaimLocalforestUserDN, ClaimsPrincipalClass.User,
                                   this.testConfig.LocalRealm.KDC[0].IPAddress, this.testConfig.LocalRealm.RealmName, this.testConfig.LocalRealm.Admin.Username,
                                   this.testConfig.LocalRealm.Admin.Password);


            BaseTestSite.Log.Add(LogEntryKind.Checkpoint, "Start compare claims between AD and Kerberos Ticket");
            for (int i = 0; i < val.ClaimsArrays.Length; i++)
            {
                for (int j = 0; j < val.ClaimsArrays[i].ClaimEntries.Length; j++)
                {
                    CLAIM_ENTRY entry = val.ClaimsArrays[i].ClaimEntries[j];
                    string      str   = ClaimUtility.ConvertEntryUniontoString(entry.Type, entry.Values);
                    BaseTestSite.Assert.IsTrue(ClaimHelper.FoundMatchedClaim(this.testConfig.LocalRealm.User[2].Username,
                                                                             ClaimsPrincipalClass.User,
                                                                             CLAIMS_SOURCE_TYPE.CLAIMS_SOURCE_TYPE_AD,
                                                                             entry.Id,
                                                                             entry.Type,
                                                                             str),
                                               "Should find same claim in AD");
                }
            }
        }