edu.yale.its.tp.cas.client.filter.authorizedProxy
用于允许当前应用从代理处获取 proxy tickets,该参数接受以空格分隔开的多个 proxy URLs,但实际使用只需要一个成功即可。当指定该参数过后,需要修改 validateUrl 到 proxyValidate,而不再是 serviceValidate
edu.yale.its.tp.cas.client.filter.renew
如果指定为 true,那么受保护的资源每次被访问时均要求用户重新进行验证,而不管之前是否已经通过
edu.yale.its.tp.cas.client.filter.wrapRequest
当用户已登录后,你的cs程序必须能够通过某种方式知道当前使用此cs程序的用户已经通过别的方式(比如b/s)登录成功并,此判断成功后,当前cs程序不需要用户再履行登录流程,而直接进入系统。请检查当前登录的方式,如果为“浏览用户”请升级为“注册用户”,直接在登录界面,点击“用户注册”,填写相关资料注册并返回登录。方法接口getfilelastmodifiedtime主要对外提供两个参数,第一个为指定文件的路径全名、第二个为需要获取的时间变量,该方法内部主要根据stat方法是用获取其数据成员st_mtime表示文件最后修改时间,成功获取则返回0,否则系统调用不成功返回-1。
edu.yale.its.tp.cas.client.filter.gateway

指定 gateway 属性
CAS 在登录成功过后,会给浏览器回传 Cookie,设置新的到的 Service Ticket。但客户端应用拥有各自的 Session,我们要怎么在各个应用中获取当前登录用户的用户名呢?CAS Client 的 Filter 已经做好了处理,在登录成功后,就可以直接从 Session 的属性中获取,如清单 11 所示:
// 以下两者都可以
session.getAttribute(CASFilter.CAS_FILTER_USER);
session.getAttribute("edu.yale.its.tp.cas.client.filter.user");
在 JSTL 中获取用户名的方法如清单 12 所示:
<c:out value="${sessionScope[CAS:'edu.yale.its.tp.cas.client.filter.user']}"/>
另外,CAS 提供了一个 CASFilterRequestWrapper 类,该类继承自HttpServletRequestWrapper,主要是重写了 getRemoteUser() 方法,只要在前面配置 CASFilter 的时候为其设置“ edu.yale.its.tp.cas.client.filter.wrapRequest ”参数为 true,就可以通过 getRemoteUser() 方法来获取登录用户名,具体方法如清单 13 所示:
CASFilterRequestWrapper reqWrapper=new CASFilterRequestWrapper(request);
out.println("The logon user:" + reqWrapper.getRemoteUser());
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面。最近本人就在项目中遇到这样的需求,某些页面只能admin账户登录后访问, 当登录admin账户后如何才能保持登录信息呢。比如一个android应用需要向指定页面发送请求,但该页面并不是一个简单的页面,只有当用户已经登录,而且登录用户的用户名有效时才可访问该页面。
public class WelcomePage extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Welcome to casTest2 sample System!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Welcome to casTest1 sample System!</h1>");
CASFilterRequestWrapper reqWrapper=new CASFilterRequestWrapper(request);
out.println("<p>The logon user:" + reqWrapper.getRemoteUser() + "</p>");
HttpSession session=request.getSession();
out.println("<p>The logon user:" +
session.getAttribute(CASFilter.CAS_FILTER_USER) + "</p>");
out.println("<p>The logon user:" +
session.getAttribute("edu.yale.its.tp.cas.client.filter.user") + "</p>");
out.println("</body>");
out.println("</html>");
}
}
在上面所有配置结束过后,分别在 A, B, C上启动 cas, casTest1 和 casTest2,按照下面步骤来访问 casTest1 和 casTest2:
使用傲游时,第一次打开类似网上银行或是购物网站的登录页面,输入正确的登录信息后,会弹出保存信息的提示,这时只要选中下面的“永远不再提示该网站”项,就能避免以后弹出这样的提示了。在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面。1.登录电脑版飞信,点击下面的“系统设置”,如图4所示 2.选择下面的“安全与隐私”,再点...3.点击“修改密码”后,就会登录到网页版的个人中心,在这里要根据提示输入“验证码”,就会有验证发送到你的注册的手机上,如图6所示 4.输入手机收到的验证码,如图7所示 5.然后进入“下一步”,在这里就可以修改密码了,如图8所示。


登录成功后,再重定向到 casTest1 的 WelcomePage 页面,如 所示:


可以看到 中地址栏里的地址多出了一个 ticket 参数,这就是 CAS 分配给当前应用的 ST(Service Ticket)。
再在同一个浏览器的地址栏中输入 :8080/casTest2/WelcomePage ,系统不再提示用户登录,而直接出现如图 4 所示的页面,并且显示在 casTest1 中已经登录过的用户。


重新打开一个浏览器窗口,先输入 :8080/casTest2/WelcomePage ,系统要求登录,在登录成功过后,正确显示 casTest2 的页面。之后再在地址栏重新输入 :8080/casTest1/WelcomePage ,会直接显示 casTest1 的页面而无需再次登录。
《涂抹mysql(跟着三思一步一步学mysql)》主要 侧重于mysql从无到有及其安装、配置、管理 、优化的过程,其中穿插介绍数据导入导出,性能/ 状态监控,备份恢复和优化方面等内容,同时还会谈 一谈mysql服务从单台到多台,从单实例到多 实例集群的部署方案。最近几个月一直在研究开源的apm和监控方案,并对比使用了zipkin,cat,sky-walking,pinpoint(仅对比,未实际部署),elastic apm,tick stack,prometheus等开源产品,其中不乏功能强大的监控和追踪系统,但它们都对.net/.net core没有支持或支持不够完备。asf给出的开源的方案jserv,java官方将自己的jws捐赠给了asf,让后就产生了开源界的解决最好的方案,就是tomcat。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-117269-4.html
文章分明不全
这件可能就这样结束了