public void DelegateAccessReturnsTokens()
        {
            var administrator  = new PersonBuilder(this.Session).WithUserName("administrator").Build();
            var administrators = new UserGroups(this.Session).Administrators;

            administrators.AddMember(administrator);
            var accessClass = new AccessClassBuilder(this.Session).Build();

            this.Session.Derive();
            this.Session.Commit();

            var defaultSecurityToken = new SecurityTokens(this.Session).DefaultSecurityToken;
            var dstAcs  = defaultSecurityToken.AccessControls.Where(v => v.EffectiveUsers.Contains(administrator));
            var dstAcs2 = defaultSecurityToken.AccessControls.Where(v => v.SubjectGroups.Contains(administrators));

            var acs  = new AccessControls(this.Session).Extent().Where(v => v.EffectiveUsers.Contains(administrator));
            var acs2 = new AccessControls(this.Session).Extent().Where(v => v.SubjectGroups.Contains(administrators));

            var acl = new AccessControlLists(administrator)[accessClass];

            Assert.True(acl.CanRead(M.AccessClass.Property));
            Assert.True(acl.CanWrite(M.AccessClass.Property));

            Assert.True(acl.CanRead(M.AccessClass.Property));
            Assert.True(acl.CanWrite(M.AccessClass.Property));
        }
Esempio n. 2
0
        public override string ToString()
        {
            var accessControls = string.Join('\n', AccessControls.Select(control => $"{control.Key}: [\n"
                                                                         + string.Join("\n\t", control.Value.Select(ctrl => ctrl.ToString())) + "\n]"));

            return($"ServerIdentifier = {ServerIdentifier}\n" +
                   $"PlexPreferencesFile = {PlexPreferencesFile}\n" +
                   $"CookieDomain = {CookieDomain}\n" +
                   $"AccessControls = {{\n{accessControls}\n}}\n" +
                   $"DefaultAccessDeniedMessage = {DefaultAccessDeniedMessage}");
        }
Esempio n. 3
0
        protected override void BaseSetup(Setup setup)
        {
            var merge = this.Cache.Merger().Action();

            var accessControls = new AccessControls(this.Session);

            merge(DefaultSecurityTokenId, v =>
            {
                if (setup.Config.SetupSecurity)
                {
                    v.AddAccessControl(accessControls.Employees);
                }
            });
        }
Esempio n. 4
0
        public static AccessControls GetUserAccessControl(IPrincipal user)
        {
            AccessControls roles = AccessControls.None;

            foreach (var role in MvcApplication.AdminUsers)
            {
                if (user.IsInRole(role))
                {
                    roles = roles | AccessControls.Admin;
                    break;
                }
            }

            return(roles);
        }