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

📄 logouttag.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.taglib;import java.io.IOException;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspTagException;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.TagSupport;/** * <p>Logout tag for use with the Yale Central Authentication * Service.  Clears the indicated attribute and, if 'scope' is 'session', * also invalidates the session.  Finally, redirects to CAS's * logout URL.</p> * * @author Shawn Bayern */public class LogoutTag extends TagSupport {  //*********************************************************************  // Internal state  private String var;					// tag attribute  private String logoutUrl;				// tag attribute  private int scope;					// tag attribute  //*********************************************************************  // Tag logic  public int doStartTag() throws JspException {    try {      // retrieve the response object      HttpServletResponse response =        (HttpServletResponse) pageContext.getResponse();      // kill the authentication information      pageContext.removeAttribute(var, scope);      // if scope is SESSION_SCOPE, invalidate the session      if (scope == PageContext.SESSION_SCOPE)        pageContext.getSession().invalidate();      // send the redirect      response.sendRedirect(logoutUrl);      return SKIP_BODY;	    } catch (IOException ex) {      throw new JspTagException(ex.getMessage());    }  }  public int doEndTag() {    return SKIP_PAGE;  }  //*********************************************************************  // Accessors  public void setVar(String var) {    this.var = var;  }  public void setScope(String scope) {    if (scope.equals("page"))      this.scope = PageContext.PAGE_SCOPE;    else if (scope.equals("request"))      this.scope = PageContext.REQUEST_SCOPE;    else if (scope.equals("session"))      this.scope = PageContext.SESSION_SCOPE;    else if (scope.equals("application"))      this.scope = PageContext.APPLICATION_SCOPE;    else      throw new IllegalArgumentException("invalid scope");  }  public void setLogoutUrl(String logoutUrl) {    this.logoutUrl = logoutUrl;  }  //*********************************************************************  // Constructor and lifecycle management  public LogoutTag() {    super();    init();  }  // Releases any resources we may have (or inherit)  public void release() {    super.release();    init();  }    // clears any internal state we might have  private void init() {    var = logoutUrl = null;    scope = PageContext.PAGE_SCOPE;  }}

⌨️ 快捷键说明

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