аутентифицировать URL-адрес в Java и разрешить браузеру открывать защищенную страницу

где я буду заполнять таблицу, в которой есть ссылки, и каждая ссылка указывает на другой идентификатор случая, при нажатии на эту ссылку мне нужно проверить этот URL-адрес третьей стороны в моем java-методе и разрешить браузеру открывать защищенную страницу.

любые указатели на то, как достичь этого, очень полезны.

Благодарю.

-1
источник поделиться
1 ответ

Да, это может быть достигнуто с помощью простого сервета. Предположим, что у вас есть список ссылок href в таблице 1. При нажатии на каждую ссылку href направьте ее на свой сервлет.

Пример: <a href= "/yourServlet.do?thirdPartyURL=actual3rdPartyURL">actual3rdPartyURL </a>

  1. Подтвердите этот URL-адрес третьей стороны в коде сервлета. Если все в порядке
  2. Затем перенаправьте его с помощью метода SendRedirect.

Примечание. Неправильная практика показывает URL-адрес в адресной строке браузера. как вы упомянули, именно вы заполняете эти URL-адреса, используйте хэш-карту, чтобы сохранить этот URL-адрес и сопоставить его с идентификатором случая и перенаправить его. надеюсь, что у вас есть полная информация.

Пожалуйста, ознакомьтесь с приведенным ниже примером и дайте мне знать, если вам нужна дополнительная информация

/**
 *  
 */
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");
    }
}
+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос