⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authorizationmanagertest.java

📁 jspwiki source code,jspwiki source code
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        }        assertEquals( Role.AUTHENTICATED, m_auth.resolvePrincipal( "Authenticated" ) );    }    public void testResolveUsers() throws WikiException    {        // We should be able to resolve a user by login, user, or wiki name        UserProfile profile = m_engine.getUserManager().getUserDatabase().newProfile();        profile.setEmail( "authmanagertest@tester.net" );        profile.setFullname( "AuthorizationManagerTest User" );        profile.setLoginName( "authmanagertest" );        try        {            m_engine.getUserManager().getUserDatabase().save( profile );        }        catch( WikiSecurityException e )        {            fail( "Failed save: " + e.getLocalizedMessage() );        }        assertEquals( new WikiPrincipal( "authmanagertest",  WikiPrincipal.LOGIN_NAME ), m_auth.resolvePrincipal( "authmanagertest" ) );        assertEquals( new WikiPrincipal( "AuthorizationManagerTest User", WikiPrincipal.FULL_NAME ), m_auth.resolvePrincipal( "AuthorizationManagerTest User" ) );        assertEquals( new WikiPrincipal( "AuthorizationManagerTestUser", WikiPrincipal.WIKI_NAME ), m_auth.resolvePrincipal( "AuthorizationManagerTestUser" ) );        try        {            m_engine.getUserManager().getUserDatabase().deleteByLoginName( "authmanagertest" );        }        catch( WikiSecurityException e )        {            fail( "Failed delete: " + e.getLocalizedMessage() );        }        // A wiki group should resolve to itself        Group group1 = m_groupMgr.parseGroup( "SampleGroup", "", true );        m_groupMgr.setGroup( m_session, group1 );        assertEquals( group1.getPrincipal(), m_auth.resolvePrincipal( "SampleGroup" ) );        m_groupMgr.removeGroup( "SampleGroup" );        // A built-in role should resolve to itself        assertEquals( Role.AUTHENTICATED, m_auth.resolvePrincipal( "Authenticated" ) );        // We shouldn't be able to spoof a built-in role        assertNotSame( new WikiPrincipal( "Authenticated" ), m_auth.resolvePrincipal( "Authenticated" ) );        // An unknown user should resolve to a generic UnresolvedPrincipal        Principal principal = new UnresolvedPrincipal( "Bart Simpson" );        assertEquals( principal, m_auth.resolvePrincipal( "Bart Simpson" ) );    }    public void testRoleAcl() throws Exception    {        // Create test page & attachment        String src = "[{ALLOW edit Authenticated}] ";        m_engine.saveText( "Test", src );        WikiPage p = m_engine.getPage( "Test" );        Permission view = PermissionFactory.getPagePermission( p, "view" );        Permission edit = PermissionFactory.getPagePermission( p, "edit" );        // Create session with authenticated user 'Alice', who can read & edit        WikiSession session;        session = WikiSessionTest.authenticatedSession( m_engine, Users.ALICE, Users.ALICE_PASS );        assertTrue( "Alice view Test", m_auth.checkPermission( session, view ) );        assertTrue( "Alice edit Test", m_auth.checkPermission( session, edit ) );        // Create session with asserted user 'Bob', who can't read or edit (not in ACL)        session = WikiSessionTest.assertedSession( m_engine, Users.BOB );        assertFalse( "Bob !view Test", m_auth.checkPermission( session, view ) );        assertFalse( "Bob !edit Test", m_auth.checkPermission( session, edit ) );        // Cleanup        try        {            m_engine.deletePage( "Test" );        }        catch( ProviderException e )        {            assertTrue( false );        }    }    public void testStaticPermission() throws Exception    {        WikiSession s = WikiSessionTest.anonymousSession( m_engine );        assertTrue( "Anonymous view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertTrue( "Anonymous edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertTrue( "Anonymous comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertFalse( "Anonymous modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertFalse( "Anonymous upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Anonymous rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertFalse( "Anonymous delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertTrue( "Anonymous prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertTrue( "Anonymous profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertTrue( "Anonymous pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Anonymous groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.assertedSession( m_engine, "Jack Sparrow" );        assertTrue( "Asserted view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertTrue( "Asserted edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertTrue( "Asserted comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertFalse( "Asserted modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertFalse( "Asserted upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Asserted rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertFalse( "Asserted delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertTrue( "Asserted prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertTrue( "Asserted profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertTrue( "Asserted pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Asserted groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.authenticatedSession( m_engine, Users.JANNE, Users.JANNE_PASS );        assertTrue( "Authenticated view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertTrue( "Authenticated edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertTrue( "Authenticated comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertTrue( "Authenticated modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertTrue( "Authenticated upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertTrue( "Authenticated rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertFalse( "Authenticated delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertTrue( "Authenticated prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertTrue( "Authenticated profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertTrue( "Authenticated pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertTrue( "Authenticated groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.adminSession( m_engine );        assertTrue( "Admin view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertTrue( "Admin edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertTrue( "Admin comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertTrue( "Admin modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertTrue( "Admin upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertTrue( "Admin rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        // Even though we grant AllPermission in the policy, 'delete' isn't explicit so the check        // for delete privileges will fail (but it will succeed if requested via the checkPermission())        assertFalse( "Admin delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertTrue( "Admin prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertTrue( "Admin profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertTrue( "Admin pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertTrue( "Admin groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );    }        public void testAdminView()       throws Exception    {        m_engine.saveText( "TestDefaultPage", "Foo [{ALLOW view FooBar}]" );                Principal admin = new GroupPrincipal( "Admin" );        WikiSession session = WikiSessionTest.containerAuthenticatedSession(                m_engine,                Users.ALICE,                new Principal[] { admin } );        assertTrue( "Alice has AllPermission", m_auth.checkPermission( session,                                                                        new AllPermission( m_engine.getApplicationName() )));        assertTrue( "Alice cannot read", m_auth.checkPermission( session,                                                                  new PagePermission("TestDefaultPage","view") ) );    }    public void testAdminView2() throws Exception     {        m_engine.saveText( "TestDefaultPage", "Foo [{ALLOW view FooBar}]" );             WikiSession session = WikiSessionTest.adminSession(m_engine);        assertTrue( "Alice has AllPermission", m_auth.checkPermission( session,                                                                        new AllPermission( m_engine.getApplicationName() )));        assertTrue( "Alice cannot read", m_auth.checkPermission( session,                                                                  new PagePermission("TestDefaultPage","view") ) );    }        public void testUserPolicy() throws Exception    {        Properties props = new Properties();        props.load( TestEngine.findTestProperties() );                // Make sure we are using the default security policy file jspwiki.policy        props.put( AuthorizationManager.POLICY, "jspwiki-testUserPolicy.policy" );                // Initialize the test engine        m_engine = new TestEngine( props );        m_auth = m_engine.getAuthorizationManager();        m_groupMgr = m_engine.getGroupManager();        m_session = WikiSessionTest.adminSession( m_engine );                WikiSession s = WikiSessionTest.anonymousSession( m_engine );        assertFalse( "Anonymous view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertFalse( "Anonymous edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertFalse( "Anonymous comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertFalse( "Anonymous modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertFalse( "Anonymous upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Anonymous rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertFalse( "Anonymous delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertFalse( "Anonymous prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertFalse( "Anonymous profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertFalse( "Anonymous pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Anonymous groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.assertedSession( m_engine, "Jack Sparrow" );        assertFalse( "Asserted view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertFalse( "Asserted edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertFalse( "Asserted comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertFalse( "Asserted modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertFalse( "Asserted upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Asserted rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertFalse( "Asserted delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertFalse( "Asserted prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertFalse( "Asserted profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertFalse( "Asserted pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Asserted groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.authenticatedSession( m_engine, Users.BOB, Users.BOB_PASS );        assertTrue( "Bob  view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertTrue( "Bob edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertTrue( "Bob comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertTrue( "Bob modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertTrue( "Bob upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Bob rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertTrue( "Bob delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertFalse( "Bob prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertFalse( "Bob profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertFalse( "Bob pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Bob groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.authenticatedSession( m_engine, Users.JANNE, Users.JANNE_PASS );        assertTrue( "Janne  view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertTrue( "Janne edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertTrue( "Janne comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertTrue( "Janne modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertTrue( "Janne upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Janne rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertTrue( "Janne delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertFalse( "Janne prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertFalse( "Janne profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertFalse( "Janne pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Janne groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );        s = WikiSessionTest.adminSession( m_engine );        assertTrue( "Admin view", m_auth.checkStaticPermission( s, PagePermission.VIEW ) );        assertFalse( "Admin edit", m_auth.checkStaticPermission( s, PagePermission.EDIT ) );        assertFalse( "Admin comment", m_auth.checkStaticPermission( s, PagePermission.COMMENT ) );        assertFalse( "Admin modify", m_auth.checkStaticPermission( s, PagePermission.MODIFY ) );        assertFalse( "Admin upload", m_auth.checkStaticPermission( s, PagePermission.UPLOAD ) );        assertFalse( "Admin rename", m_auth.checkStaticPermission( s, PagePermission.RENAME ) );        assertFalse( "Admin delete", m_auth.checkStaticPermission( s, PagePermission.DELETE ) );        assertFalse( "Admin prefs", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PREFERENCES ) );        assertFalse( "Admin profile", m_auth.checkStaticPermission( s, WikiPermission.EDIT_PROFILE ) );        assertFalse( "Admin pages", m_auth.checkStaticPermission( s, WikiPermission.CREATE_PAGES ) );        assertFalse( "Admin groups", m_auth.checkStaticPermission( s, WikiPermission.CREATE_GROUPS ) );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -