网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
..Net分页控件发布.
.用.net静态变量取代Application,.
.ASP.Net 2.0 图形控件简述.
.Windows 2003 Server 中DOTNET程.
.编程实现QQ表情文件CFC格式.
.创建ASP.NET程序时候发生错误"HT.
.asp.net技术的学习顺序问题.
.asp.net2.0实现主从数据表的简单.
.asp.net身份验证(登录控件),基于.
.mscorwks.dll在.Net中的地位以及.
.TreeView使用笔记.
.ASP.NET与数据库相关技巧.
.为Serv-U提供在线修改密码功能 .
.ASP.NET ViewState 初探 (2).
.在ASP.NET中防止注入攻击[翻译] .
.用.NET读取Flash格式文件信息.
.使用ASP.NET Atlas ListView控件.
.DataGrid和DataList中CommandBut.
.ASP.NET中使用IFRAME建立类Modal.
.Asp.net关于对url编码的转化 .

ASP.NET实现匿名访问控制

发表日期:2006-6-1


通过学习我掌握了两种控制方法,实现了对于网站的匿名访问控制,一个是通过IIS实现,另一个是通过ASP.NET实现。个人感觉两种基本上可以实现的功能没有什么差别,不过通过ASP.NET实现的更易于管理和维护。

对于通过IIS的实现都比较清楚,可以对文件夹或单个文件(页面)设置访问权限,IIS提供了“目录安全性”和“文件安全性”的设置方法。并可以通过直接设置不同访问人的权限。其中就提供了匿名访问的控制方法,这里不再细说。

 

ASP.NET控制方法:

首先介绍例子实现的效果,一个网站登陆以后可以将用户信息保存在一个cookie中,并标识用户是通过身份验证的,在访问其他页面的时候直接对用户的身份是否通过验证进行判断,如果通过即可继续访问页面,如果是一个未通过验证的匿名访问用户(即未登录用户)则将跳转到登陆页面提示用户登录。设置其中一个用户注册页面为可以匿名访问,因为业务逻辑上只有允许注册才能登陆。

在登陆页面还是先对用户的用户名和密码进行验证,至于使用与数据库比对的方法还是到AD中验证等都可以,然后通过以下的方法将当前用户在cookie中标识为通过验证的用户,并跳转到用户跳转到登陆页之前请求的页面。

FormsAuthentication.RedirectFromLoginPage(userName,createPersistentCookie);

在用户直接请求的页面上我们使用如下的方法来验证用户。

Context.User.Identity.IsAuthenticated

Context:获取与该页关联的 System.Web.HttpContext 对象

User:为当前 HTTP 请求获取或设置安全信息

Identity:获取当前用户的标识

IsAuthenticated:获取一个bool值,该值指示是否验证了用户

 

然后我们在Web.config中进行安全设置。

    <authentication mode="Forms">

        <forms loginUrl="Login.aspx"></forms>

</authentication>

"Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。

    <authorization>

        <deny users="?" />

    </authorization>

deny表示禁止,users="?"表示匿名用户

  <location path="NewUser.aspx">

    <system.web>

        <authorization>

            <allow users="*" />

        </authorization>

    </system.web>

  </location>

表示新用户注册页面NewUser.aspx,可以允许任何人访问。

这样就实现了对于匿名用户的访问控制。

例子: 下载http://bear-study-hard.cnblogs.com/Files/Bear-Study-Hard/UserAuthentication.rar

http://bear-study-hard.cnblogs.com/archive/2006/05/31/414134.html

上一篇:在ASP.NET Atlas中调用Web Service—直接在ASPX页面上暴露Web Method 人气:6121
下一篇:在Asp.net用C#建立动态Excel(外文翻译) 人气:6657
浏览全部ASP.NET的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐