Asp.Net_单点登录

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Application["UsName"] != null)
        {
            Response.Write("记录的用户名:" + Application["UsName"]);
        }
    }
    /// <summary>
    /// 登录
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void OnloginbtnClick(object sender, EventArgs e)
    {
        if (txt_UsName.Text.Length > 0 && txt_UsPwd.Text.Length > 0)
        {
            if (Application["UsName"] != null)
            {
                //判断用户是否已经登录过
                string[] UsNameArray=Application["UsName"].ToString().Split(‘,‘);
                for (int i = 0; i < UsNameArray.Length; i++)
                {
                    if (UsNameArray[i] == txt_UsName.Text.Trim())
                    {
                        Response.Write("<script>alert(‘你已经登录!‘);</script>");
                        return;
                    }
                }
            }
                string strSplit = "";
                Session["loginUsName"] = txt_UsName.Text.Trim();
                Application.Lock();
                if (Application["UsName"] != null)
                {
                    strSplit = ",";
                }
                Application["UsName"] = Application["UsName"] + strSplit + Session["loginUsName"].ToString();
                Application.UnLock();

                Response.Write("<script>alert(‘成功登录!‘);</script>");
        }
        else
        {
            Response.Write("<script>alert(‘请填写用户名和密码!‘);</script>");
        }
    }

    /// <summary>
    /// 退出登录
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void OnSignOutBtnClick(object sender, EventArgs e)
    {
        if (Session["loginUsName"] != null)
        {
            Application.Lock();
            Application["UsName"] = Application["UsName"].ToString().Replace(Session["loginUsName"].ToString(), "");
            Application.UnLock();
            Response.Write("<script>alert(‘" + Session["loginUsName"] + "已经成功退出" + "!‘);</script>");
        }
    }
}

    void Application_Start(object sender, EventArgs e)

    {
        //在应用程序启动时运行的代码
        Application["UsName"] = null;

    }

  

时间: 2024-08-25 21:18:02

Asp.Net_单点登录的相关文章

ASP.NET单点登录(代码)

由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录.在ASP.NET中实现单点登录其实很简单,下面就把主要的方法和全部代码进行分析.[/p][p=25, null, left]实现思路[/p][p=25, null, left]利用Cache的功能,我们把用户的登录信息保存在Cache中,并设置过期时间为Session失效的时间,因此,一旦Session失效,我们的Cache也过期:而Cache对所有的用户都可以访问,因此,用它保存用户信息比数据库来

asp.net单点登录(SSO)解决方案

前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详,但实际应用很少,难得最近轻闲,于是决定通过本文来详细描述一个SSO解决方案,希望对大家有所帮助.SSO的解决方案很多,但搜索结果令人大失所望,大部分是相互转载,并且描述的也是走马观花. 闲话少叙,进入正题,我的想法是使用集中验证方式,多个站点集中Passport验证. 如下图所示: 为方便清晰描述,先定义几个名词,本文中出现之处均为如下含义. 主站:Passport集中验证服务器 http://www.passport.com/ .

SSO单点登录之Asp.Net实现示例

一.什么是单点登录SSO(Single Sign-On) SSO是一种统一 认知 和授权机制,指访问用同一服务器不同应用中的受保护资源的同一用户,只需登录一次,即通过一个应用中的安全验证 后,再访问其他 应用中的受保护资源时,不再需要重新 登录验证. 注: 1.所有应用 系统共享一个身份认证系统. 2.所有应用系统能够 识别和提取ticket信息. 二.实现过程 及原理说明 1.Session_Server项目作为用户认证系统,其他网站也使用它作为用户认证 2.对于同一个浏览器 的同一次会员,总

asp.net 跨域单点登录 【转】

关键字:单点登录   跨域    跨域单点登录 源代码下载:http://download.csdn.net/source/1571879 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. asp.net跨域单点登录分为: 1.跨子域单点登录.如 blog.a.com 和 info.a.com 这2个站点同属一个主域.a.com,实现跨子域单点登录很简单,可以

ASP.NET实现SSO单点登录

利用ASP.NET Forms身份认证轻轻松松实现单点登录 比如我们的主域名是domain.com 其他的二级域名有 1.list.domain.com 2.item.domain.com 3.home.domain.com 登录和注册都放在passport.domain.com这个二级域名下去处理 在Web.config中配置 1 <authentication mode="Forms"> 4 <forms name="CNBDQ" loginU

思道OA之ASP.NET OA系统单点登录集成技术

思道OA开发版支持第三方集成,可以第三方的各种管理系统.校园数字化系统.统一认证,进行单点集成登录. (一)第三方系统单点登录到OA系统 下载源码 步骤1: web.config添加以下代码,允许匿名用户访问/sso.aspx,默认开发版已经添加, 将sso.aspx放置到OA目录Webroot下. <location path="sso.aspx"> <system.web> <authorization> <allow users=&quo

教你开发asp.net的单点登录系统

单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在MemberShip基础上做单点登录. 故这个单点登录系统需要能无缝集成到这些系统中的任何系统中,作为服务端. 下面我们来看看具体的实现步骤,没耐心看完的朋友可直接上github上查阅:(https://github.com/newmin/cms/blob/master/extend/Ops.Cms

asp.net 真正实现完全跨域单点登录

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. asp.net跨域单点登录分为: 1.跨子域单点登录.如 blog.a.com 和 info.a.com 这2个站点同属一个主域.a.com,实现跨子域单点登录很简单,可以利用cookie,设置Domain为”.a.com'即可,这里就不再赘叙. 2.完成跨域单点登录.如 www.a.com www.b.com

如何在多台服务器上共享Session(PHP/JSP/ASP.NET)以及单点登录(SSO)

如何在多台服务器上共享Session(PHP/JSP/ASP.NET)以及单点登录(SSO) Apache Session复制: http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html 使用Memcached来共享PHP Session: https://www.digitalocean.com/community/tutorials/how-to-share-php-sessions-on-multiple-memcached-se