一个简单的ASP.NET Forms 身份认证的实例方法

Web.config


代码如下:

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

default.aspx


代码如下:

<HTML>
<HEAD>
<TITLE>首页</TITLE>
<script language="VB" runat="server">
 Sub Page_Load(Sender As Object, e As EventArgs)
  Message.Text = String.Format("你好,{0}", Context.User.Identity.Name)
 End Sub
 sub btnSignout_Click(Sender as Object, E as EventArgs)
  FormsAuthentication.SignOut()
  Response.Redirect("login.aspx")
 end sub
</script>
</HEAD>
<BODY>
<asp:label id="Message" runat="server"/>
<br>
<form method="post" runat="server">
 <asp:button id="btnSignout" Text="退出登录" runat="server" OnClick="btnSignout_Click"/>
</form>
</BODY>
</HTML>

login.aspx


代码如下:

<HEAD>
<TITLE>首页</TITLE>
<script lanugage="c#" runat="server">
 private void Page_Load(object sender, EventArgs e)
 {
  if (Request.IsAuthenticated)
    Response.Redirect("default.aspx");
 }
 void btnLogin_Click(Object sender, EventArgs e)
 {
  if (txtUsername.Text != null && txtUsername.Text != String.Empty && txtPassword.Text != null && txtPassword.Text != String.Empty)
   FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
  else
   lblError.Text = "错误的用户名/密码";
 }
</script>
</HEAD>
<BODY>
<form method="post" runat="server">
 <asp:Label id="lblUsername" runat="server" Text="用户名:"/>
    
 <asp:Textbox id="txtUsername" runat="server"/>
 <br>
 <br>
 <asp:Label id="lblPassword" runat="server" Text="密 码:"/>
    
 <asp:Textbox id="txtPassword" runat="server" TextMode="password"/>
 <br>
 <asp:button id="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" />
</form>
<hr>
 <br>
 <asp:Label id="lblError" forecolor="red" runat="server"/>
</BODY>
</HTML>

(0)

相关推荐

  • ASP.NET Forms身份认证详解

    ASP.NET身份认证基础 在开始今天的内容之前,我想有二个最基础的问题首先要明确: 1. 如何判断当前请求是一个已登录用户发起的? 2. 如何获取当前登录用户的登录名? 在标准的ASP.NET身份认证方式中,上面二个问题的答案是: 1. 如果Request.IsAuthenticated为true,则表示是一个已登录用户. 2. 如果是一个已登录用户,访问HttpContext.User.Identity.Name可获取登录名(都是实例属性). 接下来,本文将会围绕上面二个问题展开,请继续阅读

  • ASP.NET Forms身份认证

    asp.net程序开发,用户根据角色访问对应页面以及功能. 项目结构如下图: 根目录 Web.config 代码: <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> &

  • 一个简单的ASP.NET Forms 身份认证的实例方法

    Web.config 复制代码 代码如下: <configuration> <system.web>  <compilation debug="true"/>  <authentication mode="Forms">   <forms loginUrl="login.aspx" name = ".ASPXFORMSAUTH" />  </authentica

  • Forms身份认证在IE11下无法保存Cookie的问题

    ASP.NET中使用Forms身份认证常见的做法如下: 1. 网站根目录下的Web.config添加authentication节点 复制代码 代码如下: <authentication mode="Forms"> <forms name="MyAuth" loginUrl="manager/Login.aspx" defaultUrl="manager/default.aspx" protection=&q

  • 深入解读ASP.NET Core身份认证过程实现

    长话短说:上文我们讲了 ASP.NET Core 基于声明的访问控制到底是什么鬼? 今天我们乘胜追击:聊一聊ASP.NET Core 中的身份验证. 身份验证是确定用户身份的过程. 授权是确定用户是否有权访问资源的过程. 1. 万变不离其宗 显而易见,一个常规的身份认证用例包括两部分: ① 对用户进行身份验证 ② 在未经身份验证的用户试图访问受限资源时作出反应 已注册的身份验证处理程序及其配置选项被称为"方案",方案可用作一种机制,供用户参考相关处理程序的身份验证.挑战和禁止行为. 我

  • 浅谈asp.net Forms身份验证详解

    在做网站的时候,都会用到用户登录的功能.对于一些敏感的资源,我们只希望被授权的用户才能够访问,这让然需要用户的身份验证.对于初学者,通常将用户登录信息存放在Session中,笔者在刚接触到asp.net的时候就是这么做的.当我将用户信息存在在Session中时,常常会遇到Session丢失导致用户无法正常访问被授权的资源,保持用户登录状态时的安全性问题,无休其实,在asp.net中,我们有更好的解决方案,那就是通过Forms身份验证,从而对用户进行授权,这种方法可以轻松的保持用户的登录状态(如果

  • asp.net Forms身份验证和基于角色的权限访问

    主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面. 具体步骤:     1.创建一个网站,结构如下:         网站根目录             Admin目录            ---->    管理员目录                 Manager.aspx        ---->    管理员可以访问的页面             Users目录            ---->    注册用户目录         

  • asp.net forms身份验证,避免重复造轮子

    问题:大家都说使用 forms 验证无法得到当前登录用户除了用户名之外的更多信息,经过我的一番小试验,在 forms 方式下自带的 userdata 可以为我们施展天地的地方.下面记录一下我的操作步骤备忘. step 1: web.config 配置关键地方: web.config配置 复制代码 代码如下: <!-- 通过 <authentication> 节可以配置 ASP.NET 用来 识别进入用户的 安全身份验证模式. --> <authentication mode=

  • 一个简单的ASP.NET验证码

    本文实例为大家分享了ASP.NET验证码的具体代码,供大家参考,具体内容如下 我主要是看到干扰线了,一个验证码里面要是没有干扰线什么的,至少得在噪点和随机码的排版上下工夫: /// <summary> /// 验证码生成类 /// </summary> public class verify_code : IHttpHandler, IRequiresSessionState { public void ProcessRequest(HttpContext context) { i

  • 一个简单的asp.net 单点登录实现

    以下是实现的效果图:  首先上图的点击火车订票链接,就会打开http://学生信息平台网站/LoginToTrainSite.asa页面. LoginToTrainSite.asa页面的大致代码如下: 复制代码 代码如下: <% Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache" Response.Ad

随机推荐