Asp.Net安全验证小结

原创 2004年06月22日 19:52:00

1,基于windows的安全验证
 web.config文件:
  <configuration>
    <system.web>
        <authentication mode="Windows" />
        <identity impersonate="true" />
        <authorization>
            <allow roles="BUILTIN/groupname" users="computername/UserName,computername/UserName" />
            <deny users="*" />
        </authorization>
    </system.web>
  </configuration>
  在.aspx文件中无需任何代码就可以实现验证,但可以在.aspx文件获取登陆用户的信息
  需导入命名空间:System.Security.Principal
  if(User.Identity.IsAuthenticated)//判断用户是否验证,似乎可有可无
  {
    WindowsIdentity objWinIdentity=WindowsIdentity.GetCurrent();
    lblHelloMsg.Text="the name:"+objWinIdentity.Name+"<br>Type:"+ objWinIdentity.AuthenticationType+"IsInRole:"+User.IsInRole("computername//groupname");
  }
 
2,基于web.config forms验证
 web.config文件:
 <configuration>
<system.web>
  <authentication mode="Forms">
    <forms name="MyApp" path="/" loginUrl="login.aspx"
           protection="All" timeout="30">
      <credentials passwordFormat="Clear">
        <user name="kwk" password="test" />
        <user name="ljx" password="test" />
      </credentials>
    </forms>
  </authentication>

  <authorization>
    <allow users="kwk,ljx" />
    <deny users="?" />
  </authorization>
</system.web>
</configuration>
 login.aspx文件:需要提供两个文本框用于填写用户和密码(txtUsr,txtPwd),一个单选框判断是否永久保存
                还需要一个按钮控件则响应该button的代码如下:
void DoLogin(Object sender, EventArgs e)
{
   if(FormsAuthentication.Authenticate(txtUsr.Value,txtPwd.Value))
   {
       FormsAuthentication.RedirectFromLoginPage(txtUsr.Value,chkPersist.Checked);
   }
   else
   //为代码完整性而设置,可以不写
   {
       Response.Write("authentication fails");
   }

然后在别的页面可以获得登陆用户的值:
if(User.Identity.IsAuthenticated)//可以不需要判断
{
  Response.Write("your name:"+User.Identity.Name);
  Response.Write("验证类型:"+User.Identity.AuthenticationType);//forms,windows等
}

3,基于自定义forms验证
 web.config文件(基本上不需要什么设置):
  <system.web>
   <authentication mode="Forms">
  <forms name="MyApp" path="/" loginUrl="custom-login.aspx"
      protection="All"  timeout="30" >
  </forms>
   </authentication>

   <authorization>
  <deny users="?" />
   </authorization>
 </system.web>
  custom-login.aspx文件,基本原理还是跟2中说的一样,如:
  if (blnIsAuthenticated) //注意这个blnIsAuthenticated是一个自己定义的变量
  //当我们把用户输入的信息和数据库(或xml)的信息比对,存在则把该变量设为true,反之false
  //这是跟2不一样的地方
  {
     FormsAuthentication.RedirectFromLoginPage(txtUsr.Value, chkPersist.Checked);
     //txtUsr和chkPersist分别为textbox,checkbox控件
  }
  else
  {
    //验证失败提示信息
  }
  剩下的如在其他页面获得用户信息,如2一样
 
4,退出登陆
响应退出登陆按钮的代码:
FormsAuthentication.SignOut();
Response.Clear();
Response.Redirect(Request.UrlReferrer.ToString());//重定向到前一个页面

asp.net几种安全验证方式

ASP.NET几种安全验证方法[转] 如何运用 Form 表单认证 ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“N...
  • liyong11111
  • liyong11111
  • 2007年12月18日 19:51
  • 987

Asp.Net安全验证小结

Asp.Net安全验证小结 http://www.cnblogs.com/kwklover/archive/2004/06/22/17806.aspx1,基于windows的安全验证 web.conf...
  • Brookes
  • Brookes
  • 2004年10月29日 15:50
  • 1114

Asp.Net MVC 4 Web API 中的安全认证---使用OAuth

//  Oauth授权处理 http://www.cnblogs.com/n-pei/archive/2012/05/29/2524673.html#undefined 各种语言实现的oauth...
  • Denghejing
  • Denghejing
  • 2016年09月09日 14:51
  • 1208

asp.net webservice 安全 验证

做了一段时间的webservice,跨平台,标准化,等优点就不多说了,可是缺点也有很多。 特别是安全问题上,只要是知道webservice地址通过asp.net 的web服务就能访问,而且方法都是显...
  • lzy_1515
  • lzy_1515
  • 2011年11月29日 14:52
  • 4302

ASP.NET Web API:安全验证之使用HTTP基本认证

原地址:http://www.cnblogs.com/parry/archive/2012/11/09/ASPNET_MVC_Web_API_HTTP_Basic_Authorize.html#270...
  • Shiyaru1314
  • Shiyaru1314
  • 2016年01月12日 13:21
  • 3238

ASP.NET 安全认证(Form 认证)

作者:寒羽枫(cityhunter172) 原文链接:http://www.cnblogs.com/Gavinzhao/archive/2009/10/29/1591795.html 代码写 N久...
  • bdstjk
  • bdstjk
  • 2011年11月22日 22:10
  • 5947

asp.net课程设计心得(四)

下面的两行两列分别放了一张图片,没张图片分别实现一个js功能,等我一个一个介绍来。 第二行第一列 一个html的img标签,再一个image标签添加一个onclick事件。你每次单击图片时,背景都...
  • BOBO12082119
  • BOBO12082119
  • 2010年12月17日 22:00
  • 955

ASP.NET Forms 身份验证

ASP.NET Forms 身份验证 ASP.NET Forms 身份验证 概述 ...
  • apinghappy
  • apinghappy
  • 2007年07月18日 10:30
  • 1122

ASP.NET学习篇之——小结

通过前面的学习,我们已经对ASP.NET有了初步了解,ASP.NET就是一个开发框架或者说开发环境,如果我们在具体一点说的话,ASP.NET是服务器端脚本编程的全新技术,我们利用它可以很方便的进行we...
  • zwk626542417
  • zwk626542417
  • 2013年11月06日 08:15
  • 2143

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth 各种语言实现的oauth认证: http://oauth.net/code/   上一篇文章介绍了如何使用基本的...
  • lglgsy456
  • lglgsy456
  • 2014年04月04日 15:13
  • 1568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Asp.Net安全验证小结
举报原因:
原因补充:

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