login.aspx xml 验正

原创 2002年12月23日 10:03:00

配置文件:

<configuration>
   <system.web>
      <authentication mode="Forms" >
         <forms    loginUrl = "login.aspx"     name = "FORMSAUTHCOOKIE"/>
      </authentication>
      <authorization>
         <deny users="?" />
      </authorization>
   </system.web>
</configuration>

xml文件:

<Users>
   <Users>
      <UserEmail>jchen@contoso.com</UserEmail>
      <UserPassword>
         BA56E5E0366D003E98EA1C7F04ABF8FCB3753889
      </UserPassword>
   </Users>
   <Users>
      <UserEmail>Kim@contoso.com</UserEmail>
      <UserPassword>
         07B7F3EE06F278DB966BE960E7CBBD103DF30CA6
      </UserPassword>
   </Users>
</Users>


login.aspx文件:

<%@ Page LANGUAGE="c#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.Security " %>
<%@ Import Namespace="System.IO" %>

<html>
<head>
<title>Forms Authentication</title>
<script runat=server>
private void Login_Click(Object sender, EventArgs e)
{
   if( !Page.IsValid )
   {
      Msg.Text = "Some required fields are invalid.";
      return;
   }
   String cmd = "UserEmail='" + UserEmail.Value + "'";
   DataSet ds = new DataSet();
   FileStream fs = new FileStream(Server.MapPath("Users.xml"),
                                  FileMode.Open,FileAccess.Read);
   StreamReader reader = new StreamReader(fs);
   ds.ReadXml(reader);
   fs.Close();
   DataTable users = ds.Tables[0];
   DataRow[] matches = users.Select(cmd);
   if( matches != null && matches.Length > 0 )
   {
      DataRow row = matches[0];
      string hashedpwd =
         FormsAuthentication.HashPasswordForStoringInConfigFile
            (UserPass.Value, "SHA1");
      String pass = (String)row["UserPassword"];
      if( 0 != String.Compare(pass, hashedpwd, false) )
         // Tell the user if no password match is found. It is good 
         // security practice give no hints about what parts of the
         // logon credentials are invalid.
         Msg.Text = "Invalid Credentials: Please try again";
      else
         // If a password match is found, redirect the request
         // to the originally requested resource (Default.aspx).
         FormsAuthentication.RedirectFromLoginPage
            (UserEmail.Value, Persist.Checked);
   }
   else
   {
If no name matches were found, redirect the request to the AddUser page using a Response.Redirect command.
      Response.Redirect("AddUser/AddUser.aspx");
   }
}
</script>
<body>
<form runat=server>
   <span style="background:#80FF80">
   <h3><font face="Verdana">Login Page</font></h3></span>
   <table>
      <tr>
         <td>e-mail:</td>
         <td><input id="UserEmail" type="text" runat=server/></td>
         <td><ASP:RequiredFieldValidator
             ControlToValidate="UserEmail"
             Display="Static"
             ErrorMessage="*"
             runat="server"/>
         </td>        
         <td><asp:RegularExpressionValidator id="RegexValidator"
             ControlToValidate="UserEmail"
             ValidationExpression="^([a-zA-Z0-9_/-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([a-zA-Z0-9/-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$"
             EnableClientScript="false"
             Display="Static"
             ErrorMessage="Invalid format for e-mail address."
             runat="server"/>
         </td>
      </tr>
      <tr>   
         <td>Password:</td>
         <td><input id="UserPass" type=password runat=server/></td>
         <td><ASP:RequiredFieldValidator
                 ControlToValidate="UserPass"
                 Display="Static"
                 ErrorMessage="*"
                 runat="server"/>
         </td>
      </tr>
      <tr>
         <td>Persistent Cookies:</td>
         <td><ASP:CheckBox id=Persist runat="server"
                autopostback="true" />
         </td>
         <td></td>
      </tr>
   </table>
   <input type="submit" OnServerClick="Login_Click" Value="Login"
          runat="server"/><p>
   <asp:Label id="Msg" ForeColor="red" Font-Name="Verdana"
              Font-Size="10" runat="server" />
</form>
</body>
</html>

addUser.aspx

<%@ Page LANGUAGE="c#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.Security " %>
<%@ Import Namespace="System.IO" %>
<html>
<head>
<title>Forms Authentication</title>
<script runat=server>
private void Page_Load(Object Src, EventArgs e)
{
   String email = Request.QueryString["UserEmail"];
   if( null != email )
      UserEmail.Value = email;
}
private void AddUser_Click(Object sender, EventArgs e)
{
   if( !Page.IsValid )
   {
      Msg.Text = "Some required fields are invalid.";
      return;   
   }
   DataSet ds = new DataSet();
   String userFile = "users.xml";
   FileStream fs = new FileStream(Server.MapPath(userFile),
      FileMode.Open,FileAccess.Read);
   StreamReader reader = new StreamReader(fs);
   ds.ReadXml(reader);
   fs.Close();
string hashedpwd =   
   FormsAuthentication.HashPasswordForStoringInConfigFile
      (UserPass.Value, "SHA1");
   DataRow newUser = ds.Tables[0].NewRow();
   newUser["UserEmail"] = UserEmail.Value;
   newUser["UserPassword"] = hashedpwd;
   ds.Tables[0].Rows.Add(newUser);
   ds.AcceptChanges();
   fs = new FileStream(Server.MapPath(userFile), FileMode.Create,
        FileAccess.Write|FileAccess.Read);
   StreamWriter writer = new StreamWriter(fs);
   ds.WriteXml(writer);
   writer.Close();
   fs.Close();
   Response.Redirect("Default.aspx");
}
</script>
<body>
<form runat=server>
   <div style="background:#ccccff">
      <h3><font face="Verdana">Add New User</font></h3>
   </div>
   <table>
      <tr>
         <td>Name:</td>
         <td><input id="UserEmail" type="text" runat=server/></td>
         <td><ASP:RequiredFieldValidator
                  ControlToValidate="UserEmail"
                  Display="Static"
                  ErrorMessage="*"
                  runat=server/>
            </td>
         <td><asp:RegularExpressionValidator id="RegexValidator"
             ControlToValidate="UserEmail"
             ValidationExpression="^([a-zA-Z0-9_/-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([a-zA-Z0-9/-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$"
             EnableClientScript="false"
             Display="Static"
             ErrorMessage="Invalid format for e-mail address."
             runat="server"/>
            </td>
      </tr>
      <tr>   
         <td>Password:</td>
         <td><input id="UserPass" type=password runat=server/></td>
         <td><ASP:RequiredFieldValidator
            ControlToValidate="UserPass"
             Display="Static"
             ErrorMessage="*"
             runat=server/>
         </td>
      </tr>
      <tr>
         <td>Persistent Forms:</td>
         <td><ASP:CheckBox id=Persist runat="server"
                           autopostback="true" />
         </td>
      </tr>
   </table>
   <input type="submit" OnServerClick="AddUser_Click" Value="Add User"
                        runat="server"/><p>
   <asp:Label id="Msg" ForeColor="red" Font-Name="Verdana"
                       Font-Size="10" runat=server />
</form>
</body>
</html>

Default.aspx

<%@ Page LANGUAGE="c#" %>
<html>
<title>Forms Authentication</title>
<script runat=server>
   private void Page_Load(Object Src, EventArgs e)
   {
      Welcome.InnerHtml = "Hello, " +  
         Server.HtmlEncode(User.Identity.Name);
   }
   private void Signout_Click(Object sender, EventArgs e)
   {
      FormsAuthentication.SignOut();
      Response.Write("Logged out - cookie deleted.");
   }
</script>

<body>
<h3><font face="Verdana">Forms Authentication Example</font></h3>
<span id="Welcome" runat=server/>
<form runat=server>
   <input type="submit" OnServerClick="Signout_Click"
          Value="Signout" runat="server"/><p>
</form>
</body>
</html>

XML签名验签

目前大部分的签名都是直接放在参数中的,以k-v形式或json形式进行传递,但是还有很多系统仍然使用xml交互,多用于银行系统(系统庞大,更新复杂,体制腐败,没办法咯) 这里介绍一个使用java进行x...
  • yangyongdehao30
  • yangyongdehao30
  • 2016年12月06日 15:52
  • 620

JavaScript实现数据验证

BS项目开发中,我们经常需要对数据进行判断,在特定的场合,需要对输入的字数进行限制,最近遇到了一个问题。 平时都是在后台进行数据验证,可是后台验证有一个确定,就是反应比较慢,代码如...
  • u010942465
  • u010942465
  • 2015年04月29日 20:13
  • 746

HttpWebRequest自动登录网站并获取网站内容

本文摘要:Sniffer(百度搜索) 来捕捉提交的数据信息: 1. 访问你需要站外提交的页面,比如 CSDN 登陆页 http://www.csdn.net/member/UserLogin.aspx...
  • snlei
  • snlei
  • 2008年02月23日 17:52
  • 3694

Login.aspx and LogIn.aspx?!

     当我们新建一个网站的时候,只要涉及到用户管理,一般都会把用户登录的页面作为网站的起始页。而这个起始页最为经常使用的一个名字便是:“Login”。当然这样在编码和调试环境下并没有什么不妥,也不...
  • yeahgis
  • yeahgis
  • 2009年03月22日 20:40
  • 526

用户注册(二)------图片验证码

图片验证码可以通过img标签的src请求一个servlet生成。Jsp页面代码片段: 验证码 ...
  • qq_36414013
  • qq_36414013
  • 2017年03月29日 21:55
  • 90

正则表达式数据验正

使用方法: 例: /**正整数匹配表达式*/ var pattern=/^[0-9]*[1-9][0-9]*$/; var flag = pattern.test(a); 如果a是正整数,f...
  • shiqq
  • shiqq
  • 2014年05月27日 22:52
  • 174

多元正态分布的后验采样(包含程序)

原文来自师兄的博客:http://blog.csdn.net/wjj5881005/article/details/53535613均值和方差未知的多元正态分布的后验Multivariate norm...
  • qy20115549
  • qy20115549
  • 2017年01月10日 21:22
  • 1192

网址正则验正

  • archie2010
  • archie2010
  • 2010年09月15日 18:39
  • 355

【牛腩】验正码

我们都知道在牛腩中登录时有验证码的功能,我就在想关于这个的功能,我对于验证码进行了总结。    定义:      验证码(CAPTCHA)是“Completely Automated Public ...
  • tengliu6
  • tengliu6
  • 2016年06月05日 17:37
  • 552

在login.aspx中使用设计登陆界面 并 写usp_Login存储过程

--写usp_Login存储过程,参数有三个,其中第三个参数为output,用来返回登陆是否成功,成功1,失败0( @uname varchar(50),  @password varchar(50)...
  • linlin2294592017
  • linlin2294592017
  • 2012年11月11日 18:59
  • 3334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:login.aspx xml 验正
举报原因:
原因补充:

(最多只允许输入30个字)