import org.apache.catalina.connector.Request; //导入方法依赖的package包/类

/**

* Perform single-sign-on support processing for this request.

*

* @param request The servlet request we are processing

* @param response The servlet response we are creating

*

* @exception IOException if an input/output error occurs

* @exception ServletException if a servlet error occurs

*/

public void invoke(Request request, Response response)

throws IOException, ServletException {

request.removeNote(Constants.REQ_SSOID_NOTE);

// Has a valid user already been authenticated?

if (request.getUserPrincipal() != null) {

getNext().invoke(request, response);

return;

}

// Check for the single sign on cookie

Cookie cookie = null;

Cookie cookies[] = request.getCookies();

if (cookies == null)

cookies = new Cookie[0];

for (int i = 0; i < cookies.length; i++) {

if (Constants.SINGLE_SIGN_ON_COOKIE.equals(cookies[i].getName())) {

cookie = cookies[i];

break;

}

}

if (cookie == null) {

getNext().invoke(request, response);

return;

}

// Look up the cached Principal associated with this cookie value

SingleSignOnEntry entry = lookup(cookie.getValue());

if (entry != null) {

request.setNote(Constants.REQ_SSOID_NOTE, cookie.getValue());

// Only set security elements if reauthentication is not required

if (!getRequireReauthentication()) {

request.setAuthType(entry.getAuthType());

request.setUserPrincipal(entry.getPrincipal());

}

} else {

cookie.setMaxAge(0);

response.addCookie(cookie);

}

// Invoke the next Valve in our pipeline

getNext().invoke(request, response);

}

java note项目_Java Request.setNote方法代码示例相关推荐

  1. java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例

    本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...

  2. java round指令_Java PApplet.round方法代码示例

    import processing.core.PApplet; //导入方法依赖的package包/类 public static final void updatePos() { if(follow ...

  3. java polygon 用法_Java Polygon.getBounds方法代码示例

    import java.awt.Polygon; //导入方法依赖的package包/类 private SelectionShape translatePointsToRealSize(Select ...

  4. java makedir用法_Java Files.makeDir方法代码示例

    import org.nutz.lang.Files; //导入方法依赖的package包/类 protected void download(String openid, String media_ ...

  5. java args包_Java Args.positive方法代码示例

    import org.apache.http.util.Args; //导入方法依赖的package包/类 /** * Creates new instance of BHttpConnectionB ...

  6. java shape用法_Java PShape.scale方法代码示例

    import processing.core.PShape; //导入方法依赖的package包/类 public void updateAnim(){ if(pg_src_small == null ...

  7. java gettext用法_Java Context.getText方法代码示例

    import android.content.Context; //导入方法依赖的package包/类 /** * Song Details * * @param context * @param t ...

  8. java soap封装_Java SOAPMessage.writeTo方法代码示例

    import javax.xml.soap.SOAPMessage; //导入方法依赖的package包/类 private byte[] createProbeXML() throws SOAPEx ...

  9. java listview用法_Java ListView.setMultiChoiceModeListener方法代码示例

    import android.widget.ListView; //导入方法依赖的package包/类 @Override public void onActivityCreated(@Nullabl ...

最新文章

  1. SugarCRM 主表-自定义字段
  2. selectpselect/pollppoll/epoll
  3. 【FI学习笔记】客户发票收款清账
  4. Java_异常_04_ OutOfMemoryError系列
  5. 再多迷茫,不如静下来好好学习
  6. leetcode 721. 账户合并(并查集)
  7. java类变量什么时候初始化_Java类变量的初始化时机
  8. Linux系统简介与准备
  9. 重载 重载递增递和减运算符
  10. 5.26. sysvmsg
  11. touch 创建一个普通文件或更新已有文件的时间
  12. QQ音乐JS逆向爬虫,获取调皮的sign参数,我用python全都爬!
  13. matlab中采样点是什么意思,各种采样含义
  14. Docker Desktop启动失败(Docker failed to initialize Docker Desktop is shutting down)
  15. 电子发票全流程电子化管理指南-摘要
  16. 苹果用户当心 犯罪分子网购海外邮箱专偷苹果ID
  17. Subsurface Scatting 的简单模拟
  18. 滤波算法(一)—— 平均值滤波算法
  19. 使用ganache-cli和truffle构建以太坊智能合约,以实现“基于哈希锁定的跨链技术”为例
  20. 解决U盘不能传输单个大文件的办法

热门文章

  1. svn 无线服务器,远程svn服务器
  2. Java自动切表_java_Mybatis自动创建表和更新表结构,最近有小伙伴问我mybatis有没有 - phpStudy...
  3. css折线效果,CSS3 box-shadow实现纸张的曲线投影效果 张鑫旭-鑫空间-鑫生活
  4. java获取年的第一天和最后一天_java中如何获取当前年份的第一天和最后一天
  5. python字典求平均值_Python - 字典中各个键的每个值的均值
  6. linux 系统盘无法ls,系统故障排除
  7. linux内核模块实验,linux内核模块实验(2学时).doc
  8. Win10系统开机任务栏一直转圈怎么解决
  9. Win7系统不能录音怎么办
  10. Linux - 查看软件安装与安装路径