All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
js也可以有自定义事件,注入就是这么爽_.net资料_编程技术
入门知识:动态网页PHP编程中字符串5个技巧_php资料_编程技术
在C#中使用帮助文件
对于本专栏,我假设您已经对,Web,部件的基本知识有所了解,例如,如何使用,WebPartMana_[Asp.Net教程]
当ASP.NET撞上JSF之应用程序的国际化_[Asp.Net教程]
ASP.NET,2.0中实现模板中的数据绑定_[Asp.Net教程]
同步两个Sql,server(2)_[SQL,Server教程]
ASP.NET应用程序_[Asp.Net教程]
PHP技巧-巧用jquery达到无刷新删除效果_[PHP教程]
总结:表单复选框向PHP传输数据的研究_php资料_编程技术
Reading number is top 10 pictures
Flow chart of breast implants
西游四格漫画(六)
餐桌上的鱼
王艳写真温柔如水2
NeedWallpaper13
Absolutely shocked. National geographic 50 animal photographys3
战场废物2
NeedWallpaper8
陪睡门马睿菈自曝写真 称首拍大尺度照片2
A man's favorite things5
Download software ranking
Tram sex maniac 2 (H) rar bag7
功夫熊猫2(下集)
Call Of Duty5
apache-tomcat-6.0.33
打鸟视频
Tram sex maniac 2 (H) rar bag6
VC++6.0培训教程
Call Of Duty2
Unix video tutorial17
I'm come from Beijing2
delv published in(发表于) 2014/1/16 9:31:32 Edit(编辑)
在ASP.NET,中实现单点登录_[Asp.Net教程]

在ASP.NET,中实现单点登录_[Asp.Net教程]

在ASP.NET 中实现单点登录_[Asp.Net教程]

由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录。在ASP.NET中实现单点登录其实很简单,下面就把主要的方法和全部代码进行分析。


实现思路


利用Cache的功能,我们把用户的登录信息保存在Cache中,并设置过期时间为Session失效的时间,因此,一旦Session失效,我们的Cache也过期;而Cache对所有的用户都可以访问,因此,用它保存用户信息比数据库来得方便。


查看示例 http://dotnet.aspx.cc/Exam/SingleLogin.aspx
SingleLogin.aspx代码


阅读代码编辑代码运行效果复制HTML代码保存代码<%@ page language="c#" codebehind="SingleLogin.aspx.cs" autoeventwireup="false" inherits="eMeng.Exam.SingleLogin" %>




单点登录测试








单点登录测试


用户名称:


用户密码:











<%@ page language="c#" codebehind="SingleLogin.aspx.cs" autoeventwireup="false" inherits="eMeng.Exam.SingleLogin" %>




单点登录测试








单点登录测试


用户名称:


用户密码:












SingleLogin.aspx.cs代码


复制C#代码保存代码using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;


namespace eMeng.Exam
{
///


/// SingleLogin 的摘要说明。
/// 实现单点登录
///

public class SingleLogin : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox UserName;
protected System.Web.UI.WebControls.TextBox PassWord;
protected System.Web.UI.WebControls.Label Msg;
protected System.Web.UI.WebControls.Button Login;


private void Page_Load(object sender, System.EventArgs e)
{
// 实际例子可访问:
// http://dotnet.aspx.cc/Exam/SingleLogin.aspx
}


#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}


///


/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///

private void InitializeComponent()
{
this.Login.Click += new System.EventHandler(this.Login_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion


private void Login_Click(object sender, System.EventArgs e)
{
// 作为唯一标识的Key,应该是唯一的,这可根据需要自己设定规则。
// 做为测试,这里用用户名和密码的组合来做标识;也不进行其它的错误检查。


// 生成Key
string sKey = UserName.Text + "_" + PassWord.Text;
// 得到Cache中的给定Key的值
string sUser = Convert.ToString(Cache[sKey]);
// 检查是否存在
if (sUser == null || sUser == String.Empty)
{
// Cache中没有该Key的项目,表名用户没有登录,或者已经登录超时
// 注意下面使用的TimeSpan构造函数重载版本的方法,是进行是否登录判断的关键。
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
System.Web.Caching.CacheItemPriority.NotRemovable, null);
Session["User"] = sKey;
// 首次登录,您可以做您想做的工作了。
Msg.Text = "

嗨!欢迎您访问【孟宪会之精彩世界】";
Msg.Text += "
,祝您浏览愉快!:)

";
}
else
{
// 在 Cache 中发现该用户的记录,表名已经登录过,禁止再次登录
Msg.Text = "

抱歉,您好像已经登录了呀:-(

";
return;
}
}
}
}


转自【孟宪会之精彩世界】







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.