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

📄 proxyticketvalidator.java

📁 cas 客户端文件
💻 JAVA
字号:
/* *  Copyright (c) 2000-2003 Yale University. All rights reserved. * *  THIS SOFTWARE IS PROVIDED "AS IS," AND ANY EXPRESS OR IMPLIED *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE EXPRESSLY *  DISCLAIMED. IN NO EVENT SHALL YALE UNIVERSITY OR ITS EMPLOYEES BE *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED, THE COSTS OF *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *  SOFTWARE, EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH *  DAMAGE. * *  Redistribution and use of this software in source or binary forms, *  with or without modification, are permitted, provided that the *  following conditions are met: * *  1. Any redistribution must include the above copyright notice and *  disclaimer and this list of conditions in any related documentation *  and, if feasible, in the redistributed software. * *  2. Any redistribution must include the acknowledgment, "This product *  includes software developed by Yale University," in any related *  documentation and, if feasible, in the redistributed software. * *  3. The names "Yale" and "Yale University" must not be used to endorse *  or promote products derived from this software. */package edu.yale.its.tp.cas.client;import java.util.ArrayList;import java.util.List;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;/** * Validates PTs and optionally retrieves PGT IOUs.  Subclassed * instead of collapsed into parent because we don't want users * to accidentally accept a proxy ticket when they mean only to * accept service tickets.  That is, proxy targets need to know * that they're proxy targets, not first-level web applications. */public class ProxyTicketValidator extends ServiceTicketValidator {  //*********************************************************************  // For testing...  public static void main(String args[]) throws Exception {    System.setProperty("java.protocol.handler.pkgs",      "com.sun.net.ssl.internal.www.protocol");    edu.yale.its.tp.cas.client.ProxyTicketValidator pv      = new edu.yale.its.tp.cas.client.ProxyTicketValidator();    pv.setCasValidateUrl("https://portal.yale.edu/cas/proxyValidate");    //pv.setProxyCallbackUrl("https://portal.yale.edu/casProxy/receptor");    pv.setService(args[0]);    pv.setServiceTicket(args[1]);    pv.validate();    System.out.println(pv.getResponse());    System.out.println();    if (pv.isAuthenticationSuccesful()) {       System.out.println("user: " + pv.getUser());      //System.out.println("pgtIou: " + pv.getPgtIou());      System.out.println("proxies:\n " + pv.getProxyList());    } else {      System.out.println("error code: " + pv.getErrorCode());      System.out.println("error message: " + pv.getErrorMessage());    }  }  //*********************************************************************  // Additive state  protected List proxyList;  //*********************************************************************  // Accessors  /**   * Retrieves a list of proxies involved in the current authentication.   */  public List getProxyList() {    return proxyList;  }  //*********************************************************************  // Response parser  protected DefaultHandler newHandler() {    return new ProxyHandler();  }  protected class ProxyHandler extends ServiceTicketValidator.Handler {    //**********************************************    // Constants    protected static final String PROXIES = "cas:proxies";    protected static final String PROXY = "cas:proxy";    //**********************************************    // Parsing state    protected List proxyList = new ArrayList();    protected boolean proxyFragment = false;    //**********************************************    // Parsing logic    public void startElement(String ns, String ln, String qn, Attributes a) {      super.startElement(ns, ln, qn, a);      if (authenticationSuccess && qn.equals(PROXIES))        proxyFragment = true;    }    public void endElement(String ns, String ln, String qn)        throws SAXException {      super.endElement(ns, ln, qn);      if (qn.equals(PROXIES))        proxyFragment = false;      else if (proxyFragment && qn.equals(PROXY))        proxyList.add(currentText.toString().trim());    }     public void endDocument() throws SAXException {      super.endDocument();      if (authenticationSuccess)        ProxyTicketValidator.this.proxyList = proxyList;    }  }  //*********************************************************************  // Utility methods  /**   * Clears internally manufactured state.   */  protected void clear() {    super.clear();    proxyList = null;  }}

⌨️ 快捷键说明

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