可以通过SessionID和用户名来保证同一个用户不能同时登录的问题,下面程序模仿了QQ的登录,当登录后判断当前帐号是否已经登录,如果登录.则踢掉以前登录的用户. 1.通过Application全局变量来存储SessionID和用户名,每次登录时都保存,并且将该Application存入Hashtable中,当用户登录成功后,首先判断该用户是否已经存储在Application中,如果存在(说明已经登录),则将该用户对应的值设置为XX(值为无用), 代码 Code highlighting pro…
Web 项目中经常遇到的问题就是同一用户名多次登录的问题,相应的解决办法也很多,总结起来不外乎这几种解决办法: 将登录后的用户名放到数据库表中: 登录后的用户名放到Session中: 登录后的用户名放到Application中: 登录后的用户名放到Cache中. 一般的这几种方法都是登录了之后,如果没有正常退出,第二次登录将不被允许.这样一般都会存在一个问题:如果用户没有正常退出系统,那么他接下来继续登录的时候,因为Session没有过期等问题,会被拒绝继续登录系统,只能等待Session过期后…
http://wenku.baidu.com/link?url=wAZR9AMkAAcOt5J_SfroXqU5IM5RhNWaP0-YUwvZT94761Qq1-7pKAt6ngOX1zG4tYecHn0iHsEC_--E0o74XbyGQfiINjDVD3m3vL7Kpo7&qq-pf-to=pcqq.group PDF文件下载 http://files.cnblogs.com/files/niaowo/%E5%9F%BA%E4%BA%8E%E7%94%A8%E6%88%B7%E6%98%A…
问题: CAS自带的用户验证逻辑太过简单,如何像正常网站一样,通过验证DB中的用户数据,来验证用户以及密码的合法性呢? 方案1:CAS默认的JDBC扩展方案: CAS自带了两种简单的通过JDBC方式验证用户的处理器. 1.QueryDatabaseAuthenticationHandler 2.SearchModeSearchDatabaseAuthenticationHandler 这两个处理类位于cas-server-support-jdbc这个扩展工程下. 第一步:改写用户验证处理器 打开…
一.感慨 很久前看到一篇博客中有句话大致的意思是:“asp.net 程序性能低下的主要原因是开发人员技术参差不齐”,当时看到这句话不以为然,然而时间过的越久接触的.net 开发人员越多就越认同这句话:特别最近发现非常一个成熟的项目中有些问题非常非常影响性能,最终影响的是用户体验,借此给大家分享一下关于asp.net中一个小小的点,但对项目有很大的性能提升:以前觉得自己接触的项目少小,然后接触的项目越多,越大就会越发现,同样的问题依旧存在: 二.先从最简单的asp.net mvc例子说起 1.Co…
通常用户登陆,如果没有特别的限定, 同一个用户可以同时登陆, 今天搞了一个东西限定一个用户不能同时登陆到一个系统上, 后登陆者会把前面登陆的踢出来.(有点像QQ,同个帐号不能在多个地方同时在线, 后面登陆成功后就把前面登陆的掉线) SQL : 两张表,一张是用户信息,另一张用来保存session -- -- 数据库: `single_user` -- CREATE TABLE IF NOT EXISTS `session` ( `username` varchar(50) default '',…
用到的技术:map集合,sessionListener监听器,Fiter过滤器. 实现思路: 一.利用一个全局的map集合来保存每个用户sessionID的值的一个集合.一个用户对应一个sessionID当相同的用户登录的时候判断它在集合总有没有值.(保存用户所有登录记录) 二. 2.1.实现sessionListener在当一个session被销毁的时候强制移除当前用户所对应的sessionID 2.2.实现Fiter来判断每次请求map集合中是否有值.(实现强制退出) 代码:代码是复制别人的…
php 实现同一个账号同时只能一个人登录 张映 发表于 2015-01-22 分类目录: php 标签:mysql, nginx, openfire, php, redis 以前考虑过这个问题,今天实现了一下,挺快的,从研究到开发完成差不多4个小时.有点类似QQ,二台电脑登录,一台会把另一台挤掉线,并提示其他地点登录信息. 一,实现原理 1,用户在电脑A登录,session信息存放在redis当中,并将session_id存到mysql数据库中. 2,同一用户在电脑B登录,验证完用户名和密码后,…
网上有很多介绍单点登录的文章,但多为架构设计以及概念性文章,而本文将介绍单点登录的具体具体实现 利用哈希表,作为保存登录用户的队列        private static Hashtable m_userList;设置用户在线超时的时限(我设置的是30分钟,可以根据自己的需求自行修改)        private static TimeSpan m_tsSub = new TimeSpan(0, 30, 0); 设置哈希表初始化为同步封装(为了线程安全)            m_user…
CAS是YALE大学发起的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法.它主要分为client和server端,server端负责对用户的认证工作,client端负责处理对客户端受保护的资源的访问请求,CAS的原理如下图所示: 上述的6个步骤解释如下: 1.用户通过browser请求cas client A端的资源. 2.client A端发现用户未登录(client没有收到ST),redirect到cas server,并且把用户请求服务的url发送给server:server…
文章较长,建议推荐,建议转发,建议收藏,建议关注公众号哈. OAuth 2 有四种授权模式,分别是授权码模式(authorization code).简化模式(implicit).密码模式(resource owner password credentials).客户端模式(client credentials),具体 OAuth2 是什么,可以参考这篇文章.(http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html) 本文我们将使用授权码模式和…
标题有点问题,没有进行修改. 一 Discuz论坛搭建步骤 1:服务器环境配置 服务器要支持php语言+支持mysql 5.0以上的数据库 + Apache服务器(支持网站的一个服务器,通过域名的能访问就可以了) Msql5.0以上的数据库一个. 2:安装Discuz (1)下载Discuz源码包http://www.discuz.net/thread-3570835-1-1.html (2)解压源码包Discuz_X3.2_SC_GBK.zip(这里以Discuz X3/2为例)有三个文件,把…
单点登录 前言 本篇做为.Net 统一用户管理的系列文章的开山之作,主要说一个单点登录是怎么实现的,以及为啥要统一用户管理. 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 单点登录实现步骤         1.系统A 发送 用户名 和密码到统一验证模块 2.统一验证模块验证密码和账号是否正确,正确返回一个OpenId 3. 系统A 将OpenId写入Coo…
<pre name="code" class="python"># 本节课大纲: 一.空模块和空操作 1.空操作 function _empty($name){ $this->show("$name 不存在 <a href='__APP__/Index/index'>返回首页</a>"); } 2.空模块 class EmptyAction extends Action{ function index()…
由于不是固定在一如电脑开始,经常需要把数据备份与恢复.或者是帮助客户修改程序,接收到客户备份好的数据,需要在电脑恢复. 这样就需要将数据库用户映射到 SQL Server 登录名.如何映射?可使用下面的系统存储过程: EXECUTE sp_change_users_login 'update_one','user','login'  上面的'update_one'是执行的操作,将当前数据库中指定的 user 链接到现有的 SQL Serverlogin. 'user'是指当数据库的用户名. 'l…
提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户登录,标识用户和获取用户信息,以用户为核心提供服务,是大部分小程序都会做的事情.我们今天就来了解下在小程序中,如何做用户登录,以及如何去维护这个登录后的会话(Session)状态. 在微信小程序中,我们大致会涉及到以下三类登录方式: 自有的账号注册和登录 使用其他第三方平台账号登录 使用微信账号登录…
网站A:代码:网站a的login.html页面刷新,使用jsonp方式将信息传递给b.com的login.php中去,只需要在b.com中设置一下跨域以及接收参数,然后存到cookei即可, 注意:网站A的jsnop传值后,网站B的login.php文件不能放到浏览器中打开刷新查看传递的值,这样会接收不到传递过来的值,需要到另外一个页面打印生成的cookei值来显示,login.php只做逻辑处理,要显示 效果需要到cookei.php中打印效果 网站A的login.html <!DOCTYPE…
   基础不太熟的同学可以先去看:CAS 单点登录[1]入门 方案1:CAS默认的JDBC扩展方案: CAS自带了两种简单的通过JDBC方式验证用户的处理器. 1.QueryDatabaseAuthenticationHandler 2.SearchModeSearchDatabaseAuthenticationHandler 这两个处理类位于cas-server-support-jdbc这个扩展工程下. 第一步:改写用户验证处理器 deployerConfigContext.xml <bean…
Windows 服务器远程连接的时候,出现错误:“连接被拒绝,因为没有授权此用户帐户进行远程登录.”,导致无法远程登录服务器,如下图所示: 问题分析 该错误一般是由于 Windows 远程桌面相关权限配置异常导致的. 解决方案 1. 排查组策略用户权限分配: 1)使用连接 管理终端 登录主机. 2)开始 - 运行 - 录入: secpol.msc 打开组策略编辑器,如下图所示: 3)找到 本地策略 - 用户权限分配 - 允许通过远程桌面服务登录,如下图所示: 如果缺少上述配置,请点击 添加用户或…
简述 本文仅记录如标题所述场景的测试所得,由于场景有些特殊,且并不需兼容所有浏览器,所以本文的内容对读者也许并无作用,仅为记录. 场景.与实现 需在移动端单点登录 需在移动端跨域访问我们的服务 基于历史原因: 单点登录验证后,如Web网站一样,用Cookie携带SessionID到服务器,服务器根据SessionID管理该用户会话.权限 跨域用CORS,在服务端和客户端有如下设置. 服务端响应: httpResponse.setHeader("Access-Control-Allow-Origi…
接口文档: 1.1. 注册接口 1.1.1. 检查数据是否可用 请求方法 GET URL http://sso.taotao.com/user/check/{param}/{type} 参数说明 格式如:zhangsan/ 1,其中zhangsan是校验的数据,type为类型,可选参数1.2.3分别代表username.phone.email 可选参数callback:如果有此参数表示此方法为jsonp请求,需要支持jsonp. 示例 http://sso.taotao.com/user/che…
不用单点登录,模拟远程项目的登录页面表单,在访问这个页面的时候自动提交表单到此项目的登录action,就可以实现登录到其他系统. ssh框架项目 1.以下是本地系统的action代码: import java.io.IOException; import java.util.List; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.i…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 对于代码你有编程感觉吗 很多人写代码往往是没有编程感觉的,也就是除了可以把功能按照固定的流程编写出流水式的代码外,很难去思考整套功能服务的扩展性和可维护性.尤其是在一些较大型的功能搭建上,比较缺失一些驾驭能力,从而导致最终的代码相对来说不能做到尽善尽美. 江洋大盗与江洋大偷 两个本想描述一样的意思的词,只因一字只差就让人觉得一个是好牛,一个好搞笑.往往我们去开发编程写代码时也经常将…
一.建立LoginViewModel视图模型 using System.ComponentModel.DataAnnotations; namespace Shop.ViewModel { public class LoginViewModel { [Required] [Display(Name = "用户名")] public string Name { get; set; } [Required] [DataType(DataType.Password)] [Display(Na…
Response实现登录并记录用户名和密码信息 在某网站的登录页面登录时如果选择"记住用户名",登录成功后会跳转到一个中间层(页面代码将登录的用户名和密码存在cookie),中间页面中存在一个超链接,单击超链接可以链接到第三个页面查看信息.若选择"不记住用户名",则中间页面会删除,单击超链接则无法显示登录的用户名和密码. 登录界面 <%@ page language="java" contentType="text/html; c…
用户 NT AUTHORITY\NETWORK SERVICE 登录失败 解决方法 (MS SQL 2005) Windows server 2003,2008 Web.Config 配置连接sql 使用 win身份验证时: 当连接sql server使用信任连接(参看Web.Config文件)时就会出这个错误,在Windows XP当中,ASP.NET的运行帐号是ASPNET,而在Windows server 2003,2008号则改为了Network Service,直接把这个用户加到sql…
CAS单点登录中文用户名乱码问题,有两种情况 1. CAS server乱码 即在向server端提交用户名和密码时,发生了乱码,解决方法是: 打开WEB-INF/web.xml,在其它的Filter之前,添加 <!-- 字符编码过滤 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filte…
前面已经介绍了CAS服务器的搭建,详情见:搭建CAS单点登录服务器.然而前面只是简单地介绍了服务器的搭建,其验证方式是原始的配置文件的方式,这显然不能满足日常的需求.下面介绍下通过mysql数据库认证的方式. 一.CAS认证之mysql数据库认证 1.在mysql中新建一个cas数据库并创建user表 CREATE DATABASE /*!32312 IF NOT EXISTS*/`cas` /*!40100 DEFAULT CHARACTER SET gbk */; USE `cas`; /*…
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败/OLE DB 错误: OLE DB 或 ODBC 错误 : 2012-2-23 上午 ,弄SAAS时,发现在生成多维数据集时,运行,会出现错误,提示“ 内部错误: 操作未能成功,已终止. 内部错误: 操作未能成功,已终止. 出现以下系统错误:  没有注册类别 . 高级关系引擎中存在错误. 无法与 DataSourceID 为“EtoonDM”.名称为“EtoonDM”的数据源建立连接. OLAP 存储引擎中存在错误:…
今天调试程序的时候,使用VS调试没有任何问题,但是发布到IIS就发生错误了,网上搜索了一下,问题具体上就出在IIS的应用程序池的设置上.我使用的是Windows7 IIS7.5. 错误为:用户 'IIS APPPOOL\{站点名} AppPool'登录失败 进入“Internet 信息服务(IIS)管理器”,然后选择左侧列表的应用程序池,在右边选择你的站点,右击选择“高级设置 ”,在打开的对话框中,找到“进程模型”节点,将“标识”从ApplicationPoolIdentity改成LocalSy…