Package org.apache.catalina.realm

Examples of org.apache.catalina.realm.GenericPrincipal


        // Create the Principal to serialize
        List<String> roles = new ArrayList<String>();
        roles.add("RoleA");
        roles.add("RoleB");
        TesterPrincipal tpOriginal = new TesterPrincipal("inner");
        GenericPrincipal gpOriginal =
            new GenericPrincipal("usr", "pwd", roles, tpOriginal);

        // Get a temporary file to use for the serialization test
        File file = null;
        try {
            file = File.createTempFile("ser", null, tempDir);
        } catch (IOException e) {
            e.printStackTrace();
            fail("ioe creating temporary file");
        }

        GenericPrincipal gpNew = null;
        try {
            // Do the serialization
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(file);
                ObjectOutputStream oos = new ObjectOutputStream(fos);
                SerializablePrincipal.writePrincipal(gpOriginal, oos);
                oos.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                fail("fnfe creating object output stream");
            } catch (IOException e) {
                e.printStackTrace();
                fail("ioe serializing principal");
            } finally {
                if (fos != null) {
                    try {
                        fos.close();
                    } catch (IOException ignored) {
                        // NO OP
                    }
                }
            }

            // De-serialize the Principal
            FileInputStream fis = null;
            try {
                fis = new FileInputStream(file);
                ObjectInputStream ois = new ObjectInputStream(fis);
                gpNew = SerializablePrincipal.readPrincipal(ois);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                fail("fnfe reading object output stream");
            } catch (IOException e) {
                e.printStackTrace();
                fail("ioe de-serializing principal");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                fail("cnfe de-serializing principal");
            } finally {
                if (fis != null) {
                    try {
                        fis.close();
                    } catch (IOException ignored) {
                        // NO OP
                    }
                }
            }
        } finally {
            if (!file.delete()) {
                System.out.println("Failed to delete " + file);
            }
        }

        // Now test how similar original and de-serialized versions are
        assertEquals("User names different", gpOriginal.getName(),
                gpNew.getName());
        assertEquals("Passwords different", gpOriginal.getPassword(),
                gpNew.getPassword());
        assertEquals("Number of roles different", gpOriginal.getRoles().length,
                gpNew.getRoles().length);
        for (int i = 0; i < gpOriginal.getRoles().length; i++) {
            assertEquals("Role name index " + i + "different",
                    gpOriginal.getRoles()[i], gpNew.getRoles()[i]);
        }
        // These are the key tests for bug 43840
        assertNotSame("Inner principal not present", gpNew,
                gpNew.getUserPrincipal());
        assertEquals("Inner user names are different", tpOriginal.getName(),
                gpNew.getUserPrincipal().getName());
    }
View Full Code Here


                                         principal.getUserPrincipal()!=principal?principal.getUserPrincipal():null);
    }

    public GenericPrincipal getPrincipal()
    {
        return new GenericPrincipal(name, password,
                getRoles()!=null?Arrays.asList(getRoles()):null,
                userPrincipal);
    }
View Full Code Here

                log.error(sm.getString(
                        "serializablePrincipal.readPrincipal.cnfe"), e);
                throw e;
            }
        }
        return new GenericPrincipal(name,pwd,Arrays.asList(roles),
                userPrincipal);
    }
View Full Code Here

            protected Principal getPrincipal(String username) {
                Principal p = userPrincipals.get(username);
                if (p == null) {
                    String pass = userPass.get(username);
                    if (pass != null) {
                        p = new GenericPrincipal(username, pass,
                                userRoles.get(username));
                        userPrincipals.put(username, p);
                    }
                }
                return p;
View Full Code Here

                fireSessionEvent(Session.SESSION_DESTROYED_EVENT, null);
            }

            // Call the logout method
            if (principal instanceof GenericPrincipal) {
                GenericPrincipal gp = (GenericPrincipal) principal;
                try {
                    gp.logout();
                } catch (Exception e) {
                    manager.getContainer().getLogger().error(
                            sm.getString("standardSession.logoutfail"),
                            e);
                }
View Full Code Here

        // Create the Principal to serialize
        List<String> roles = new ArrayList<String>();
        roles.add("RoleA");
        roles.add("RoleB");
        TesterPrincipal tpOriginal = new TesterPrincipal("inner");
        GenericPrincipal gpOriginal =
            new GenericPrincipal("usr", "pwd", roles, tpOriginal);
       
        // Do the serialization
        try {
            FileOutputStream fos = new FileOutputStream(file);
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            SerializablePrincipal.writePrincipal(gpOriginal, oos);
            oos.close();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            fail("fnfe creating object output stream");
        } catch (IOException e) {
            e.printStackTrace();
            fail("ioe serializing principal");
        }
       
        // De-serialize the Principal
        GenericPrincipal gpNew = null;
        try {
            FileInputStream fis = new FileInputStream(file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            gpNew = SerializablePrincipal.readPrincipal(ois);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            fail("fnfe reading object output stream");
        } catch (IOException e) {
            e.printStackTrace();
            fail("ioe de-serializing principal");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            fail("cnfe de-serializing principal");
        }
       
        // Now test how similar original and de-serialized versions are
        assertEquals("User names different", gpOriginal.getName(),
                gpNew.getName());
        assertEquals("Passwords different", gpOriginal.getPassword(),
                gpNew.getPassword());
        assertEquals("Number of roles different", gpOriginal.getRoles().length,
                gpNew.getRoles().length);
        for (int i = 0; i < gpOriginal.getRoles().length; i++) {
            assertEquals("Role name index " + i + "different",
                    gpOriginal.getRoles()[i], gpNew.getRoles()[i]);
        }
        // These are the key tests for bug 43840
        assertNotSame("Inner principal not present", gpNew,
                gpNew.getUserPrincipal());
        assertEquals("Inner user names are different", tpOriginal.getName(),
                gpNew.getUserPrincipal().getName());
    }
View Full Code Here

            return users.get(username);
        }

        @Override
        protected Principal getPrincipal(String username) {
            return new GenericPrincipal(username, getPassword(username),
                    roles.get(username));
        }
View Full Code Here

            protected Principal getPrincipal(String username) {
                Principal p = userPrincipals.get(username);
                if (p == null) {
                    String pass = userPass.get(username);
                    if (pass != null) {
                        p = new GenericPrincipal(username, pass,
                                userRoles.get(username));
                        userPrincipals.put(username, p);
                    }
                }
                return p;
View Full Code Here

                                         principal.getRoles()!=null?Arrays.asList(principal.getRoles()):null);
    }

    public GenericPrincipal getPrincipal( Realm realm )
    {
        return new GenericPrincipal(realm,name,password,getRoles()!=null?Arrays.asList(getRoles()):null);
    }
View Full Code Here

        String name = in.readUTF();
        String pwd = in.readUTF();
        int size = in.readInt();
        String[] roles = new String[size];
        for ( int i=0; i<size; i++ ) roles[i] = in.readUTF();
        return new GenericPrincipal(realm,name,pwd,Arrays.asList(roles));
    }
View Full Code Here

TOP

Related Classes of org.apache.catalina.realm.GenericPrincipal

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.