关于Struts2请求的扩展名问题: 1).org.apache.struts2包下的default.properties中配置了struts2应用的一些常量 2).struts.action.extension定义了当前struts2应用可以接受的请求的扩展名. 3).可以在struts.xml文件中以常量配置的方式修改default.properties所配置的常量. <constant name="struts.action.extension" value="a…
用户登录登出功能 一.功能需求分析 1. 登录退出功能分析 流程图 功能 登录页面 登录功能 退出功能 二.登录页面 1. 接口设计 接口说明 类目 说明 请求方法 GET url定义 /user/login/ 参数格式 无参数 返回结果 登录页面 2.后端代码 user/views.py代码: from django.shortcuts import render from django.views import View # .... class LoginView(View): "&quo…
原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 登录登出 上一章节我们总算完善了注册的功能,而且也添加了一个用户,现在,我们是时候继续完善登录登出功能了. 本章节应该是我们这个序列的最后一章节,因为本章节接收,我们大概的基础的 ASP.NET Core 知识都讲解了一遍.虽然很肤浅,但总算日常使用的知识点都有所涉及 本章节,我们将学习登录和注销功能. 与登录相比,注销相当简单. 我们首先重新布局下视图,在首页中去…
阅读本文约“2.5分钟” 本文开发环境是SpringBoot2.X版本. 对于系统而言(这里多指管理系统或部分具备登录登出功能的系统),登录登出是一个类权限验证的过程,现在一般是以token进行校验,即用户输入登录信息,系统对其进行判断,如果信息准确放行并下发一个token值到用户的cookie中,接下来用户的每一个操作(对系统的读写操作等),后台系统都会验证token的准确性还有存在性,以此确定用户的登录信息正常,登出时就清除token,如下图所示.…
单点登出基本上没有啥配置 直接在原来logout的时候,重定向到Cas-Server的logout方法 @RequestSecurity @RequestMapping(value = "loginout", method = { RequestMethod.GET, RequestMethod.POST }) public String loginout(HttpSession session) { session.invalidate(); return "redirec…
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会有返回值)) 其他操作 count 统计 extend 可以在列表末尾追加多个值 index 返回列表索引位置 reverse 把我.列表中的元素反转 sort 按ASCII排序 元组 数据只可以被查询,不能被修改: 元组写在()里,之间用逗号隔开 enumerate(A,B) 添加序号;A表示所添…
学习Android有几个月了,最近喜欢上了网络编程,于是想通过Android写一些一个小程序用于连接外网.在这里非常感谢雪夜圣诞的支持,非常感谢,给我打开新的一扇门. 1.声明,本程序只能用于西南大学连接外网登录,其他网站需要自己进行抓包测试. 2.声明,本文更多的是关注网络抓包已经,本地构造,如果有什么错误,请尽情指教,非常感谢. 3.声明,最后源代码,以全部上传github,需要的同志可以自行下载,文章结尾会附带链接. 废话不多说,正文开始: 学校官网 第一步,首先需要实现的是登录操作: 当…
配置文件分3类:系统配置文件,分组配置文件,应用配置文件 ①系统配置文件ThinkPHP/Conf/convention.php: ②分组 / 模块 /平台配置文件Home/Conf/config.php: ③应用配置文件Common/Conf/config.php: (1)综合案例:实现OA系统的登录页面展示 首先需要明确当前功能需要哪些条件MVC 先说下VC ①首先是控制器C 控制器:登录登出放到Public里,控制器名PublicController.class.php 创建控制器文件,编…
这里我是根据两个项目的实际情况做的总结,方法一(来自项目一)的登录用的是用户名(字符串)和密码,前后端不分离,用form表单传递数据:方法二用的是手机号和密码登录,前后端分离,以json格式传递数据,所以对登录数据的验证是不同的 方法一(利用插件 简单方便): 利用插件 flask_login 的 login_user, login_required, logout_user, current_user方法来实现用户的登入  检查登录  登出  获取当前登录用户. 首先 在view.py文件中做…
上一篇文章<单点登录(一)使用Cookie+File实现单点登录>中,我们实现了单点登录的功能. 本文作为上一篇文章的扩展部分,加入"单点登出"功能. 源代码下载:链接: http://pan.baidu.com/s/1bn57xCF password: 5apa 本例实现效果 浏览器中输入网址:main.tgb.com,后输入username:it_main(以it开头就可以)和passwordpwd_main(以pwd开头就可以),勾选"一周内自己主动登录&q…
selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?tid=791 .在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id.name等属性.以下面的html为例: <span style="white-space: normal…
环境: jdk:1.8 cas server:5.3.14 + tomcat 8.5 cas client:3.5.1 客户端1:springmvc 传统web项目(使用web.xml) 客户端2:springboot 参考博客:https://blog.csdn.net/anumbrella/category_7765386.html 为了方便,没配置https.如果需要参考上面博客 一.CAS 服务端搭建 1.下载源码包:cas overlay github地址:https://github…
整理jquery+ajax的登录登出方法. //登录 var currentUserId = -1; $(function() { var timestamp = (new Date()).valueOf(); $.ajax({ type: 'POST', url: '../m/user/getCurrentUser', dataType: 'json', data: { t: timestamp }, success: function(data) { var isOK = false; if…
JSON Web Token 入门教程:http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html 后端代码地址:https://github.com/lison16/vue-cource/commit/c0341e8ea79d876ae552281ad8c1f1da5049434f 代码结构: uer.js:封装了登录和授权两个接口. import axios from "./index"; export c…
1. 后端代码概览 server/router/index.js 请求 router.get('/getUserInfo', function (req, res, next) { // 登录请求 res.send('success') }) router.get('/authorization', (req, res, next) => { // 获取验证请求 const userName = req.userName // 从app.js中拿到userName res.send({ code…
CAS 的登出包含两种情况,一种是CAS客户端登出,另一种是CAS单点登出,使用流程图说明这两者的不同.(一图胜千言) 总结自官方文档 CAS客户端登出流程 如图,客户端的登出仅仅是过期当前用户与客户端之间的会话,并未过期用户浏览器与CAS服务端建立的会话(没有处理TGC),此时如果用户再访问客户端的接口,无需输入账号密码立即登录成功. 全局单点登出流程 如图,用户访问CAS服务端单点登出接口(由客户端提供),CAS服务端根据请求携带的TGC,不仅过期了服务内TGT与ST,还向该TGC对应的客户…
前面为了方便我们只是简单实现了基本业务功能的增删改查,但是登录功能还没有实现,而登录又是系统所必须的,得益于 ASP.NET Core的可扩展性因此我们很容易实现我们的登录功能.今天我将带着大家一起来实现下我们的ASP.NET Core2.2开发的CMS系统的登录及验证码功能.如果你觉得文中有任何不妥的地方还请留言或者加入DotNetCore实战千人交流群637326624跟大伙进行交流讨论吧! 本文已收录至<.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划> 作者:依乐祝…
需求:对登录进行验证,用户名cy 密码123456才能登录进去:  登录进去后,将用户存在session中: 其他链接要来访问(除了登录链接),首先验证是否登录,对这个进行拦截: com.cy.model.User.java: package com.cy.model; public class User { private String userName; private String password; public String getUserName() { return userNam…
result 是action节点的子节点 result 代表action方法执行后,可能去的一个目的地 一个action节点可以配置多个result子节点. result的name属性值对应着action方法可能有的一个返回值. result有两个属性,还有一个是type它表示结果的响应类型 result的type属性值在struts-default包的result-types节点的name属性中定义, 常用的有: dispatcher(默认值):转发,同Servlet中的转发. redirec…
拦截器原理 1.如图所示,Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器. 2.intercept方法所依赖的参数ActionInvocation则是Action调度者.ActionInvocation中的invoke()方法具备以下2层含义(详细看DefaultActionInvocation源代码): 如果拦截器堆栈中还有其他的Intercep…
在struts2框架中关于Action处理请求参数有两种方案(三个方式),表单属性的名称应该和在Action类中定义的成员属性或者在JavaBean中定义的成员属性名称一样: 1.属性驱动 1)直接在Action类中定义成员属性来接收请求参数 (将Action当成javaBean),在Action中还需要定义成员属性的setter方法. 表单信息: <form action="${pageContext.servletContext.contextPath}/testAction.acti…
一.单文件上传 在没学struts2之前,我们要写文件上传,非常麻烦,需要手动一步步去获取表单中的各种属性,然后在进行相应的处理,而在struts2中就不需要了,因为有一个fileUpload拦截器帮我们全做完了.我们只需要添加一点点信息,就可以完成上传的功能. 1.Action中需要提供三个属性 File fieldName: //文件表单项名称,也就是上传控件所填写的name属性名 String fileContentType; //file就使用的文件表单项名和固定ContentType,…
异常处理:exception-mapping元素 exception-mapping元素:配置当前的action的声明式异常处理 exception-mapping元素有两个属性: --exception:指定需要铺货的异常类型 --result:指定一个响应结果,该结果将在捕获到指定异常时被执行,既可以来自当前action的声明也可以来自global-results声明. 可以通过global-exception-mappings元素为应用程序提供一个全局性的异常补货映射,但是在global-…
request变成了struts重写的StrutsRequestWrapper 关于值栈: helloWorld时,${productName}读取productName值,实际上该属性并不在request等域中,而是从值栈中获取的. ValueStack: 可以从ActionContext中获取值栈对象 值栈分为两个逻辑部分: 1.Map栈:实际上是OgnlContext类型,是个Map,也是对ApplicationContext的一个引用,里边保存着各种Map,requestMap,sess…
与Servlet耦合的访问方式 直接访问Servlet API将使Action与环境Servlet环境耦合在一起,测试时需要有Servlet容器,不便对Action的单元测试. 直接获取HttpServletRequest对象: servletActionContext.getRequest() 获取HttpSession:ServletActionContext.getRequest().getSession() 直接获取ServletContext对象: servletActionConte…
使用XxxAware接口 看代码: package logan.struts2.study; import java.util.Map; import org.apache.struts2.interceptor.ApplicationAware; public class TestAwareAction implements ApplicationAware{ public String execute(){ //1.向application中加入一个属性:applicationKey2 -…
1.什么是WEB资源? HttpServletRequest,HttpSession,ServletContext等原生的Servlet API. 2.为什么访问WEB资源? B/S的应用的Controller中必然需要访问WEB资源,例如,向域对象中读写属性,读写Cookie,获取realPath等等. 3.如何访问? 在Action中,可以通过一下方式访问web的HttpSession,HttpServletRequest,HttpServletResponse等资源 与Servlet AP…
action  VS  Action类 action:代表一个Struts2的请求 Action类:能够处理struts2请求的类. 属性的名字必须遵守与JavaBean属性名相同的命名规则. 属性的类型可以是任意类型,从字符串到非字符串(基本数据类型)之间的数据转换可以自动发生 必须有一个不带参的构造器:通过反射创建实例 至少有一个共struts在执行这个action时调用的方法 同一个Action类可以包含多个action方法. struts2会为每一个HTTP请求创建一个新的Action实…
接着上次的课程 这次我们看struts.xml 修改如下:这里是加上命名空间,默认的是不加,我们手动加上时就要在访问时加上命名空间. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts…
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 当你接到一个修复代码为101的任务的时候,很自然的你想创建一个分支issue-101来修复它,但是等等,当前正在dev上进行的工作还没有提交: $ git status On branch dev Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: hello.py…