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

📄 securityhelper.java.svn-base

📁 一些公用的Java函数
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
    {        if( pattern.equals( "*" ) )        {            return true;        }                if( pattern.equals("?" ) )        {            return org != null && org.trim().length() > 0;        }                return org.matches( pattern );    }        public void addExceptionConfig( String exception, String page )    {        this.exceptions.put(exception, page);    }    public void addExceptionConfig( Element element )    {            String exception = element.getAttribute("name");            String redirect = element.getAttribute("redirect");            if( redirect == null || redirect.trim().length() == 0 )            {                NodeList nls = element.getElementsByTagName("redirect");                if( nls != null && nls.getLength() > 0 )                {                    Element redirectElement = (Element) nls.item(0);                    redirect = redirectElement.getAttribute("to");                    if( redirect == null || redirect.trim().length() == 0 )                    {                        redirect = redirectElement.getTextContent();                    }                }            }            this.addExceptionConfig(exception, redirect);               }        public void addAuthenticationConfig( Element element )    {        NodeList nl = element.getElementsByTagName( "provider" );        if( nl.getLength() > 0 )        {            try            {                Element providerElement = ((Element) nl.item(0));                String className= providerElement.getAttribute("class");                securityProvider = (SecurityProvider) Class.forName( className ).newInstance();                securityProvider.setProviderConfig( providerElement );                //securityProvider.setPublicTokenKey(text);            }            catch (Exception ex)            {                logger.error("Thrown the Exception %s\n", ex);                //logger.fatal(ex.getMessage(), ex);                throw new RuntimeException( ex.getMessage(), ex );            }        }    }        public void init( Element element )    {        if( "page".equals(  element.getTagName() ) )        {            ///this is page;            addPageSecurityConfig( element );            return;        }                if( "exception".equals(element.getTagName() ) )        {            addExceptionConfig( element );            return;        }                if( "authentication".equals(element.getTagName()))        {            addAuthenticationConfig( element );            return;        }                if( "contentProvider".equals(element.getTagName() ) )         {            configContentProvider( element );            return;        }    }        public String getEditTemplate(String viewId, String contentPath)    {        Iterator<Map.Entry<String, String>> patterns = editContentTemplate.entrySet().iterator();        while( patterns.hasNext() )        {            Map.Entry<String, String> entry = patterns.next();                        if( this.matchPattern(viewId, entry.getKey() ) )            {                                String template = entry.getValue();                if( template.startsWith( "~/" ) )                {                    template = template.substring(1);                 }                                return template;            }        }                return null;        //return false;    }                    public String getContentTemplate( String viewId, String contentPath )    {        Iterator<Map.Entry<String, String>> patterns = contentPattern.entrySet().iterator();        while( patterns.hasNext() )        {            Map.Entry<String, String> entry = patterns.next();            if( this.matchPattern(viewId, entry.getKey() ) )            {                                String template = entry.getValue();                if( template.startsWith( "~/" ) )                {                    template = template.substring(1);                 }                                return template;            }        }                return null;        //return false;    }        public ContentFactory getContentProviderFactory()    {        return factory;        //return ContentFactory.createFactory();    }        private void configContentProvider(Element element)    {        try        {            ///providerFactory            String factoryClass = element.getAttribute("factory");            String pattern = element.getAttribute("pattern");                        NodeList children = element.getChildNodes();            for( int i  = 0; i < children.getLength(); i ++ )            {                Node nd = children.item(i);                if( nd instanceof Element )                {                    Element elm = (Element) nd;                    if( "factory".equals(elm.getTagName() ) )                    {                                                factoryClass = elm.getTextContent();                    }                    else if( "template".equals(elm.getTagName() ) )                    {                        String viewPattern = elm.getAttribute("pattern");                                                if( viewPattern == null || viewPattern.trim().length() == 0 )                        {                            viewPattern = pattern;                        }                                                if( viewPattern != null && viewPattern.trim().length() > 0 )                        {                            String template  = elm.getTextContent();                            if( template != null && template.trim().length() > 0 )                            {                                this.contentPattern.put( viewPattern, template );                            }                                                        String editTemplate = elm.getAttribute("editTemplate");                            if( editTemplate != null && editTemplate.trim().length() > 0 )                            {                                editContentTemplate.put( viewPattern, editTemplate );                            }                                                    }                                            }                }            }                        if( factoryClass != null && factoryClass.trim().length() > 0 )            {                System.setProperty( ContentFactory.CONTENT_FACTORY, factoryClass);                            }                        ///we assume that was setup by Sytem.Property.            factory = ContentFactory.createFactory();                    }        catch (ContentException ex)        {            logger.warn("Thrown the Exception %s\n", ex);            //Logger.getLogger(SecurityHelper.class.getName()).log(Level.SEVERE, null, ex);        }        ///pattern        ///parameters    }        public void init(FilterConfig config)     {        try        {            System.out.println(config.getInitParameter("nible.securityConfig"));            InputStream configInputStream = config.getServletContext().getResourceAsStream(config.getInitParameter("nible.securityConfig"));            DocumentBuilder builder = null;            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();            builder = factory.newDocumentBuilder();            Document doc = builder.parse(configInputStream);            NodeList elms = doc.getElementsByTagName("security");            if( elms != null && elms.getLength() == 1 )            {                ////successed parse file                Element securityElement = (Element) elms.item(0);                NodeList children = securityElement.getChildNodes();                for( int i = 0; i < children.getLength(); i ++ )                {                    Node nd = children.item(i);                    if( nd.getNodeType() == Node.ELEMENT_NODE )                    {                        init( (Element) nd );                    }                }            }        }        catch (SAXException ex)        {            logger.info("Thrown the Exception %s\n", ex);            //Logger.getLogger(SecurityHelper.class.getName()).log(Level.SEVERE, null, ex);        }        catch (IOException ex)        {            logger.info("Thrown the Exception %s\n", ex);        }        catch (ParserConfigurationException ex)        {            logger.info("Thrown the Exception %s\n", ex);        }    }}

⌨️ 快捷键说明

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