在java中验证url并允许浏览器打开安全页面

时间:2013-10-25 23:02:12

标签: java url authentication

我将填充一个有链接的表,每个链接指向不同的case id,当点击该链接时,我需要在我的java方法中验证第三方url并需要允许浏览器打开安全页面。

任何关于如何实现这一目标的指示都非常有用。

感谢。

1 个答案:

答案 0 :(得分:1)

是的,这可以通过一个简单的serlvet来实现。 假设您在表中有href链接列表 1.点击每个href链接后,将其指向您的servlet。

Ex:&lt; a href =“/ yourServlet.do?thirdPartyURL=actual3rdPartyURL">actual3rdPartyURL< / a&gt;

  1. 在servlet代码中验证此第三方URL。如果一切正常
  2. 然后使用SendRedirect方法重定向它。
  3. 注意:在浏览器地址栏中显示URL不是一个好习惯。 正如您所提到的那样,您就是填充此URL的人,使用hashmap存储这些URL并使用Case ID映射它并重定向它。希望你能得到完整的信息。

    请查看以下示例,如果您需要更多信息,请告知我们

    /**
     *  
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    
        PrintWriter out = response.getWriter();
    
        /**
         * Assume that this is the map you are getting from third party
         * This map holds two value pairs
         * Map<CaseID, URL>
         */
        Map<String, String> lstURLS = new HashMap<String,String>();
        lstURLS.put("CASEID1", "https://www.abc.com/abc1");
        lstURLS.put("CASEID2", "https://www.def.com/def");
        lstURLS.put("CASEID3", "https://www.egh.com/egh");
    
        /**
         * Assume that the request parameter caseID, 
         * will provide you the case id which was selected by the user
         * from the provided table of URLS
         */
        String userProvidedCaseID = request.getParameter("caseID");
        System.out.println("MySerlvet | caseID | "+ userProvidedCaseID);
    
        /**
         * Retrieve the URL from the list of third party URL's
         */
        if(null != userProvidedCaseID){
            String thirdPartyURL = lstURLS.get("userProvidedCaseID");
            if(null != thirdPartyURL){
                response.sendRedirect(thirdPartyURL);
            }else{
                out.print("No Case ID found / Error message");
            }
        }else{
            out.print("No Case ID found / Error message");
        }
    }