登录

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Wisdom.JPClient.WeiXin.Web.Login.Login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
       <link href="../Theme/myh5.css" rel="stylesheet" />
       <style type="text/css">

       </style>
<title></title>
</head>
<body>
    <form id="form1" runat="server" autocomplete="off">
    <div class="wzui-body">
        <div id="personal-cnee-hd" style="height: 80px;">
            <div class="wzui-fixed-placeholder"></div>
            <div class="wzui-fixed" style="text-align: center;">
                <div class="hd-nav" style="background-color: #197FEE; height: 50px;">
                    <a id="nav-back" href="../index.aspx">返回</a>
                    <a style="color: white; font-size: 30px; margin-bottom: 17px;">登录</a>
                </div>
            </div>
        </div>
        <div id="login_main">
            <div class="login_main-center">
                <div class="login_main-center-tip">请先登录</div>
                <div class="login_main-center-tel">
                    <div class="login_main-center-tel-div">
                        <asp:TextBox ID="txt_Tel" placeholder="请输入手机号码" runat="server" MaxLength="11" class="login_input" oninput="txtoninput(this);"></asp:TextBox>
                        <a href="javascript:" onclick="ClearText(this)" style="float:right; position:relative;margin-top:-45px; margin-right:30px;display: none;  width: 25px; height: 25px; background: url(../Theme/Default/images/icon_close.png) no-repeat; outline: none;"></a>
                    </div>
                    <div class="login_main-center-tel-div-img">
                        <img id="img_phone" src="../Theme/Default/images/Phone_grey.png" />
                    </div>
                </div>
                <div class="login_main-center-pwd">
                    <div class="login_main-center-pwd-div">
                          <asp:TextBox id="txt_Pwd"    runat="server" TextMode="Password" MaxLength="25" class="login_input"  placeholder="6-16位数字字母组合" oninput="txtoninput(this);"></asp:TextBox>
                        <a href="javascript:" onclick="ClearText(this)" style="float:right; position:relative;margin-top:-45px; margin-right:30px;display: none;  width: 25px; height: 25px; background: url(../Theme/Default/images/icon_close.png) no-repeat; outline: none;"></a>
                    </div>

                    <div class="login_main-center-pwd-img">
                        <img id="img_pwd" src="../Theme/Default/images/icon_password_grey.png" />
                    </div>
                </div>
                <div class="login_main-center-yzm" style="width:100%;">
           
                    <div style="margin-left:10px;float:right;width:20%;">
                             <img id="check_img" style="cursor: pointer;height:50px; margin-top:9px;" src="../CheckCode.aspx" 
                        onclick="refreshCheckCode('check_img')" />
                    </div>
                  <div  class="login_main-center-yzm-div"  >
                <asp:TextBox id="txt_yzm" runat="server" class="login_input_yzm"     maxlength="6" placeholder="请填写验证码"/>
            </div>
                </div>
                                <span class="body" style="color:red; font-size:12px; display:block; width:98%;" id="span_Msg" name="spnMsg" runat="server"></span>
                <div class="login_main-center-btn">
                     
                    <img src="../Theme/Default/images/btn_login.png" style="width: 94%; margin-left: auto;     cursor: pointer;" id="btnSearch"  onclick="CheckInput();" />
                </div>
                <div class="login_main-center-zhucetip">未有账号?<a style="color: #1781EC" href="../Register/UserRegist.aspx?SchoolId=<%=Schoolid%>">注册</a></div>
                <div style="width:100%;height:100px;"></div>
            </div>
        </div>
             <asp:Button ID="btn_Login"  runat="server"  style="display:none;"
                        onclick="btn_Login_Click"  />
    </div>
    <script type="text/javascript">
        $(function () {

            $("#select_Type").focus(function () {
                $("#img_arrow").attr("src", "../Theme/Default/images/icon_arrow_blue.png");
            });
            $("#select_Type").focus(function () {
                $("#img_name").attr("src", "../Theme/Default/images/icon_name_blue.png");
            });
            $("#txt_Tel").focus(function () {
                $("#img_phone").attr("src", "../Theme/Default/images/Phone_-blue.png");
            });
            $("#txt_Pwd").focus(function () {
                $("#img_pwd").attr("src", "../Theme/Default/images/icon_password_blue.png");
            });

            $("#select_Type").blur(function () {
                $("#img_arrow").attr("src", "../Theme/Default/images/icon_arrow_down.png")
            });
            $("#select_Type").blur(function () {
                $("#img_name").attr("src", "../Theme/Default/images/icon_name_grey.png")
            });
            $("#txt_Tel").blur(function () {
                $("#img_phone").attr("src", "../Theme/Default/images/Phone_grey.png");
            });
            $("#txt_Pwd").blur(function () {
                $("#img_pwd").attr("src", "../Theme/Default/images/icon_password_grey.png");

            });
        });



        /////验证码 
        function refreshCheckCode(imgCtr) {
            $("#" + imgCtr).attr("src", '../CheckCode.aspx?id=' + Math.random());
        }
        function CheckInput()
        {
            if ($.trim($("#txt_Tel").val()) == "")
            {
                alert("手机号码不能为空!");
                return false;
            }
            if ($.trim($("#txt_Pwd").val()) == "") {
                alert("密码不能为空!");
                return false;
            }
            if ($.trim($("#txt_yzm").val()) == "") {
                alert("验证码不能为空!");
                return false;
            }
            $("#btn_Login").click();
        }
        function txtoninput(obj) {
            if ($.trim($(obj).val()) != "") {
                $(obj).next().show();
            }
        }
        function ClearText(obj) {
            $(obj).prev().val("");
            $(obj).hide();
        }

    </script>
    </form>
</body>
</html>
  /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public KeyValuePair<bool, string> LogOn(string UserName, string Pwd, string Schoolid, string Ip, string WxOpenId)//驾校id
        {
            KeyValuePair<bool, string> result = new KeyValuePair<bool, string>(false, "");

            Hashtable ht = new Hashtable();
            ht["LoginName"] = UserName;
            ht["Password"] = Pwd;
            ht["LoginIp"] = Ip;
            ht["SchoolId"] = Schoolid;
            ht["WxOpenId"] = WxOpenId;
            DataSet ds = dal.GetDataSetByStored("sp_WX_UserLogOn", ht);
            switch (ds.Tables[0].Rows[0]["LoginState"].ToString())
            {
                case "1":
                    {
                        if (ds.Tables[1].Rows[0]["State"].ToString() == "1")
                        {
                            result = new KeyValuePair<bool, string>(true, "登录成功");

                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["Type"].ToString()))
                            {
                                ThisSession.IsManager = Convert.ToInt32(ds.Tables[1].Rows[0]["Type"].ToString()) == 4 ? true : false;
                                if (Convert.ToInt32(ds.Tables[1].Rows[0]["Type"]) == 3)
                                {
                                    //只有业务员才需要签到功能
                                    BaiduMapLogic.LoadMapKeys();
                                }
                            }

                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["Name"].ToString()))
                            {
                                ThisSession.UserName = ds.Tables[1].Rows[0]["Name"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["Type"].ToString()))
                            {
                                ThisSession.UserType = Convert.ToInt32(ds.Tables[1].Rows[0]["Type"]);
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["id"].ToString()))
                            {
                                ThisSession.UserID = Convert.ToInt32(ds.Tables[1].Rows[0]["id"].ToString());
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["Telphone"].ToString()))
                            {
                                ThisSession.Telphone = ds.Tables[1].Rows[0]["Telphone"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["IdNumber"].ToString()))
                            {
                                ThisSession.IdNumber = ds.Tables[1].Rows[0]["IdNumber"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["SchoolId"].ToString()))
                            {
                                ThisSession.SchoolId = ds.Tables[1].Rows[0]["SchoolId"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["StuNo"].ToString()))
                            {
                                ThisSession.StuNo = ds.Tables[1].Rows[0]["StuNo"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["CoachId"].ToString()))
                            {
                                ThisSession.CoachId = ds.Tables[1].Rows[0]["CoachId"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["StaffID"].ToString()))
                            {
                                ThisSession.StaffID = ds.Tables[1].Rows[0]["StaffID"].ToString();
                            }
                            if (!string.IsNullOrEmpty(ds.Tables[1].Rows[0]["StuId"].ToString()))
                            {
                                ThisSession.StuId = ds.Tables[1].Rows[0]["StuId"].ToString();
                            }
                            var result_tem = dal.SelectCommand("select * from School where SchoolID=@SchoolID and IsStopUse=0 and IsDelete=0", ht);
                            if (result_tem != null && result_tem.Rows.Count > 0)
                            {
                                if (!string.IsNullOrEmpty(result_tem.Rows[0]["SchoolName"].ToString()))
                                {
                                    ThisSession.SchoolName = result_tem.Rows[0]["SchoolName"].ToString();
                                }
                            }
                        }
                        else
                        {
                            result = new KeyValuePair<bool, string>(false, "当前账号已被冻结,请联系管理员");
                        }
                        break;
                    }
                case "2":
                    {
                        result = new KeyValuePair<bool, string>(false, "连续5次密码错误,已被限制登录10分钟");
                        break;
                    }
                default:
                    {
                        result = new KeyValuePair<bool, string>(false, "用户名或密码错误");
                        break;
                    }
            }
            return result;
        }
USE [DB_JP_BaseInfo00]
GO
/****** Object:  StoredProcedure [dbo].[sp_AdminUserLogOn]    Script Date: 06/17/2016 10:38:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO







ALTER proc [dbo].[sp_AdminUserLogOn]
(
    @LoginName nvarchar(20),
    @Password varchar(36),
    @LoginIp varchar(50),
    @SchoolId varchar(50)
)
as
begin
    declare @LoginTimeSpan int   --限制登录时间(秒)
    declare @MaxErrorCount int     --连续密码错误次数
    declare @LoginState int     --登录状态
    set @LoginTimeSpan=600   --限制登录时间(秒)
    set @MaxErrorCount=5     --连续密码错误次数
    declare @message nvarchar(50)
    declare @CurToken varchar(36) --登录凭证
    declare @LastLoingTime datetime
    declare @HeadSchoolID varchar(100)
    declare @IsHeadSchool int
    if exists(select * from AdminUser where UserName=@LoginName and SchoolId=@SchoolId  and IsDelete=0 and PwdErrorCount>(@MaxErrorCount-1) and  dateadd(ss,@LoginTimeSpan,isnull(PwdErrorDate,'2014-11-20'))>getdate())
    begin
       set @LoginState=2
       set @message='连续5次密码错误,已被限制登录10分钟' 
    end
    else if exists(select * from AdminUser where UserName=@LoginName and SchoolId=@SchoolId  and [Password]=@Password and IsDelete=0)
    begin
       set @LoginState=1
       set @CurToken=newid()
       set @message='登录成功' 
       select @LastLoingTime=LastTime from AdminUser where UserName=@LoginName and SchoolId=@SchoolId  and [Password]=@Password and IsDelete=0
       update AdminUser set PwdErrorCount=0,PwdErrorDate=null,LastTime=getdate() where UserName=@LoginName and SchoolId=@SchoolId  and [Password]=@Password and IsDelete=0
    ----插入token表
       --insert into LoginToken(Token, UserName, LoginTime, LoginState, LoginIP)
       --values(@CurToken,@LoginName,getdate(),1,@LoginIp)
    end
    else if exists(select * from AdminUser where UserName=@LoginName and SchoolId=@SchoolId   and IsDelete=0)
    begin
       set @LoginState=3
       set @message='用户名或密码错误'
       update AdminUser set PwdErrorCount=0 where UserName=@LoginName and SchoolId=@SchoolId   and IsDelete=0 and    dateadd(ss,@LoginTimeSpan,isnull(PwdErrorDate,'2014-11-20'))<getdate()
       update AdminUser set PwdErrorCount=PwdErrorCount+1,PwdErrorDate=getdate() where  UserName=@LoginName and SchoolId=@SchoolId   and IsDelete=0
       
    end
    else
    begin
       set @LoginState=3
       set @message='用户名或密码错误'
    end
    select @HeadSchoolID=HeadSchoolID,@IsHeadSchool=IsHeadSchool from School where SchoolId=@SchoolId
--返回集合
    select @LoginState as LoginState,@CurToken as ApiToken,((select SchoolId+',' from School where Isdelete=0 and HeadSchoolID=@SchoolId for xml path(''))+@SchoolId) as SchoolIds
   select *,@LastLoingTime LastLoingTime,@HeadSchoolID as HeadSchoolID,@IsHeadSchool as IsHeadSchool from AdminUser as a where UserName=@LoginName and SchoolId=@SchoolId  and [Password]=@Password and IsDelete=0
--系统日志 
if(@LoginState<>4)
begin
insert into OperateLog(UserLoginName,[Type],ModuleName,[Time],IP,[State],Remark,SchoolId)values(@LoginName,1,'系统登录',getdate(),@LoginIp,@LoginState,@message,@SchoolId)
end
end



                        
USE [DB_JP_BaseInfo00]
GO

/****** Object:  Table [dbo].[OperateLog]    Script Date: 06/17/2016 10:39:03 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[OperateLog](
    [LogId] [int] IDENTITY(1,1) NOT NULL,
    [UserLoginName] [varchar](20) NOT NULL,
    [Type] [int] NOT NULL,
    [ModuleName] [nvarchar](100) NULL,
    [Time] [datetime] NOT NULL,
    [IP] [varchar](50) NULL,
    [State] [tinyint] NOT NULL,
    [Remark] [nvarchar](100) NULL,
    [IsDelete] [tinyint] NOT NULL,
    [SchoolId] [varchar](50) NULL,
 CONSTRAINT [PK_OperateLog] PRIMARY KEY CLUSTERED 
(
    [LogId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1  登录日志   2 操作日志' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'OperateLog', @level2type=N'COLUMN',@level2name=N'Type'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'驾校ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'OperateLog', @level2type=N'COLUMN',@level2name=N'SchoolId'
GO

ALTER TABLE [dbo].[OperateLog] ADD  CONSTRAINT [DF_OperateLog_Oper_IsDelete]  DEFAULT ((0)) FOR [IsDelete]
GO
USE [DB_JP_BaseInfo00]
GO

/****** Object:  Table [dbo].[AdminUser]    Script Date: 06/17/2016 10:39:25 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[AdminUser](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [UserName] [varchar](20) NOT NULL,
    [UserType] [int] NOT NULL,
    [Password] [varchar](50) NULL,
    [TrueName] [varchar](20) NULL,
    [State] [bit] NOT NULL,
    [LoginTimes] [int] NOT NULL,
    [LoginIP] [varchar](20) NULL,
    [LastTime] [datetime] NULL,
    [ThisTime] [datetime] NULL,
    [PwdErrorCount] [int] NULL,
    [PwdErrorDate] [datetime] NULL,
    [AddUser] [varchar](20) NULL,
    [AddDate] [datetime] NOT NULL,
    [YR_Code] [int] NULL,
    [YR_Message] [varchar](50) NULL,
    [IsDelete] [int] NOT NULL,
    [DepId] [int] NULL,
    [UserNO] [nvarchar](20) NULL,
    [Sex] [tinyint] NULL,
    [EntryTime] [datetime] NULL,
    [BanGongPhone] [nvarchar](20) NULL,
    [NeiXianPhone] [nvarchar](20) NULL,
    [Telphone] [nvarchar](20) NULL,
    [Email] [nvarchar](50) NULL,
    [Address] [nvarchar](150) NULL,
    [SchoolId] [varchar](36) NULL,
 CONSTRAINT [PK_AdminUser] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N' 1系统管理员 2驾校用户 3驾校管理员' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'UserType'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1正常 0冻结' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'State'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工工号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'UserNO'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0男 1女' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'Sex'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入职时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'EntryTime'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'办公电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'BanGongPhone'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内线电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'NeiXianPhone'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'手机号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'Telphone'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电子邮件' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'Email'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家庭住址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'Address'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'驾校ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AdminUser', @level2type=N'COLUMN',@level2name=N'SchoolId'
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_AdminUser_UserType]  DEFAULT ((0)) FOR [UserType]
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_AdminUser_Password]  DEFAULT ('e10adc3949ba59abbe56e057f20f883e') FOR [Password]
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_AdminUser_State]  DEFAULT ((1)) FOR [State]
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_AdminUser_LoginTimes]  DEFAULT ((0)) FOR [LoginTimes]
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_AdminUser_AddDate]  DEFAULT (getdate()) FOR [AddDate]
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_adminuser_YR_Code]  DEFAULT ((0)) FOR [YR_Code]
GO

ALTER TABLE [dbo].[AdminUser] ADD  CONSTRAINT [DF_AdminUser_IsDelete]  DEFAULT ((0)) FOR [IsDelete]
GO

 

posted on 2016-06-17 10:41  雪原日暮  阅读(808)  评论(0编辑  收藏  举报