📄 uclogin.ascx.cs
字号:
namespace ENet.CA
{
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;
/// <summary>
/// Summary description for UcLogin.
/// </summary>
public class UcLogin : System.Web.UI.UserControl
{
protected System.Web.UI.HtmlControls.HtmlTableCell tdErr;
protected System.Web.UI.WebControls.ImageButton ImgOK;
protected System.Web.UI.HtmlControls.HtmlTable tabPassword;
protected System.Web.UI.HtmlControls.HtmlImage ImgLine;
protected System.Web.UI.WebControls.TextBox txtPassWord;
private void Page_Load(object sender, System.EventArgs e)
{
try
{
txtPassWord.Attributes.Add("OnKeyPress","txtKeyPress('"+ImgOK.ClientID+"');");
if(!Page.IsPostBack)
{
tabPassword.Visible=false;
if(this.CheckUserStatus())
{
tabPassword.Visible=true;
}
else
{
if(this.CheckCert())
{
tabPassword.Visible=true;
}
}
}
}
catch(System.Exception ex)
{
tdErr.InnerHtml="登陆失败<br>描述:未知原因!";
}
}
private bool CheckUserStatus()
{
bool bReturn=false;
if(Session["E3_UserID"]!=null)
{
bReturn=true;
}
return bReturn;
}
private bool CheckCert()
{
bool bReturn=false;
string mes="";
byte[] cert=Request.ClientCertificate.Certificate;
string certmem=Convert.ToBase64String(cert);
if(certmem=="")
{
//Response.Write("<script language=javascript>window.alert('该功能需使用eKey,请在USB接口插入eKey并输入正确的PIN码!');window.close();</script>");
tdErr.InnerHtml="该功能需使用eKey,请在USB接口插入eKey并输入正确的PIN码!";
return bReturn;
}
CA.CASystem CaCert=new CA.CASystem();
int isPost=1;
int ret=CaCert.CheckCert(certmem,isPost);
switch(ret)
{
case 0:
mes="操作成功";
break;
case 1:
mes="身份验证成功";
break;
case 2:
mes="客户证书已经验证过";
break;
case -1:
mes="CA根证书不存在";
break;
case -2:
mes="初始化OCSP错误请检查配置文件";
break;
case -3:
mes="登录OCSP失败";
break;
case -6:
mes="初始化引擎失败";
break;
case -7:
mes="初始化CRL配置失败";
break;
case -9:
mes="启动CRL失败";
break;
case -11:
mes="获取证书状态失败";
break;
case -111:
mes="证书已注销";
break;
case -12:
mes="证书未知";
break;
case -21:
mes="验证CRL有效性失败";
break;
case -22:
mes="初始化服务器端证书失败";
break;
case -23:
mes="初始化客户端证书失败";
break;
case -24:
mes="CRL验证证书失败";
break;
case -25:
mes="根证书验证客户端签名证书失败";
break;
default:
mes=ret.ToString();
break;
}
if(ret>0)
{
try
{
string UserNumber=CaCert.Subject;//CaCert.GetExtendStringEx("1.2.86.100.5.1.2");//会员之家用户名扩展域
if(UserNumber!="")
{
int UserID=CAccess.UserLogin(UserNumber);
if(UserID!=-1)
{
Session["E3_UserID"]=UserID;
Session["User_JgjgCode"]=CAccess.GetUserJgjgCode(UserID.ToString());
try
{
System.Web.HttpCookie ck=new System.Web.HttpCookie("E3Cookie");
ck["Attach_E3_UserID"]=UserID.ToString();
ck["Attach_User_JgjgCode"]=Session["User_JgjgCode"].ToString();
ck["Attach_SessionID"]=Session.SessionID;
Response.Cookies.Add(ck);
}
catch
{}
bReturn=true;
}
else
{
string sErr="登陆失败!<br>"+
"描述:<br> 您的证书编号:"+UserNumber+
"<br> 从用户列表读取用户失败!";
tdErr.InnerHtml=sErr;//"描述:从用户列表读取用户失败!";
}
}
}
catch(System.Exception ex)
{
}
}
else
{
tdErr.InnerHtml="你提供的证书登陆失败<br>描述:"+mes;
}
return bReturn;
}
public void MsgBox(string msgString)
{
//操作提示
msgString = msgString.Replace("\\","\\\\");
msgString = msgString.Replace("'","\\'");
msgString = msgString.Replace("\r","\\r");
msgString = msgString.Replace("\n","\\n");
string RegisterJS = "<script language=JavaScript>{";
RegisterJS +="alert('" + msgString + "');}";
RegisterJS += "</script>";
Page.Response.Write(RegisterJS);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.ImgOK.Click += new System.Web.UI.ImageClickEventHandler(this.ImgOK_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ImgOK_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
try
{
if(txtPassWord.Text=="")
{
tdErr.InnerHtml="登陆失败<br>描述:密码不允许为空!";
return;
}
string UserID=Session["E3_UserID"].ToString();
if(CAccess.UserLogin(UserID,txtPassWord.Text)!=-1)
{
Session["E3_PassWord"]=txtPassWord.Text;
string sUrl="";
if(Request.QueryString["U"]!=null)
sUrl=Request.QueryString["U"].ToString();
if(sUrl.IndexOf("https")==-1)
sUrl=sUrl.Replace("http","https");
if(sUrl=="")
{
if(CPublic.DefaultPage!=null)
Response.Redirect(CPublic.DefaultPage);
else
Response.Redirect("/main/jgxx");
}
else
Response.Redirect(sUrl);
}
else
{
tdErr.InnerHtml="登陆失败<br>描述:密码错误!";
}
}
catch
{
tdErr.InnerHtml="登陆失败<br>描述:密码错误!";
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -