asp.net 身份验证机制实例代码
网络编程 2021-07-04 22:40www.168986.cn编程入门
对于ASP.NET验证机制在项目开发中运用,会使项目非常方便快捷的实现页面的访问权限问题,而且省去了一些没必要的安全问题
ASP.NET提供了3种认证方式windows身份验证、Forms验证和Passport验证。
windows身份验证 IIS根据应用程序的设置执行身份验证。要使用这种验证方式,在IIS中必须禁用匿名访问。
Forms验证用Cookie来保存用户凭证,并将 未经身份验证的用户重定向到自定义的登录页。
Passport验证通过Microsoft的集中身份验证服务执行的,他为成员站点提供单独登录和核心配置文件服务。
关于这三种验证方式的配置,推荐一篇文章
我这里详解Forms验证方式,在ASP.NET项目中的实际应用与深度理解。
对于ASP.NET验证机制在项目开发中运用,会使项目非常方便快捷的实现页面的访问权限问题,而且省去了一些没必要的安全问题。
对于ASP.NET提供的验证机制,要深度的理解后才能灵活的运用。对于整个项目的访问权限,有时候我们需要对部分页面的访问权限进行限制,又不影响其他公共页面的访问。举个实际项目的例子。
案例有一个ASP.NET的项目,对整个项目访问限制,不允许匿名用户访问,登录页面除外。
问题是,登录页面(假设是Manager目录下的Login.aspx文件)中应用的Script的的一个文件(假设这个文件是Script/jquery-1.7.1.min.js)
1.web.config配置文件
<!--配置Forms身份认证 不允许匿名用户访问,否则跳转到/Manager/login.aspx 页面 -->
<authentication mode="Forms">
<forms name="myTeacher" loginUrl="~/Manager/login.aspx" protection="All" path="/" timeout="60"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
现在我们可以理解为当用户打开程序时,会自动转到Manager/login.aspx页面,这个页面引用的jquery-1.7.1.min.js文件是不可用的。因为,限制了所有的匿名用户只能访问Login.aspx页面,只有当注册票据之后其它的页面或文件才能正常访问。所以当匿名用户需要有权限访问jquery-1.7.1.min.js文件,就需要设置某个文件或者文件的访问权限为所有用户。
<!--允许所有用户访问Script文件夹-->
<location path="Script">
<system.web>
<authorization>
<allow users="" />
</authorization>
</system.web>
</location>
path可以只想某个具体的文件,比如"Script/Script/jquery-1.7.1.min.js",这里设置“Script”文件夹表示,允许匿名用户访问“Script”文件夹狼蚁网站SEO优化的所以文件
<!--
定义 ASP.NET身份验证机制
-->
<!--允许所有用户访问Script文件夹-->
<location path="Script">
<system.web>
<authorization>
<allow users="" />
</authorization>
</system.web>
</location>
<system.web>
<customErrors mode="Off" defaultRedirect="../error.aspx"/>
<!--配置Forms身份认证 不允许匿名用户访问,否则跳转到/Manager/login.aspx 页面 -->
<authentication mode="Forms">
<forms name="myTeacher" loginUrl="~/Manager/login.aspx" protection="All" path="/" timeout="60"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
2.登录注册票据
当登录页面登录提交并登录成功后,注册票据,当注册票据之后,相当于当前用户的身份已经不是匿名用户,没有了访问权限的限制。FormsAuthentication的命名空间是using System.Web.Security;
FormsAuthentication.RedirectFromLoginPage(UserID, false); //页面注册 关键 UsersID表示登录ID
3.撕毁票据(退出系统)
FormsAuthentication.SignOut(); //撕毁票据 退出登录
windows身份验证 IIS根据应用程序的设置执行身份验证。要使用这种验证方式,在IIS中必须禁用匿名访问。
Forms验证用Cookie来保存用户凭证,并将 未经身份验证的用户重定向到自定义的登录页。
Passport验证通过Microsoft的集中身份验证服务执行的,他为成员站点提供单独登录和核心配置文件服务。
关于这三种验证方式的配置,推荐一篇文章
我这里详解Forms验证方式,在ASP.NET项目中的实际应用与深度理解。
对于ASP.NET验证机制在项目开发中运用,会使项目非常方便快捷的实现页面的访问权限问题,而且省去了一些没必要的安全问题。
对于ASP.NET提供的验证机制,要深度的理解后才能灵活的运用。对于整个项目的访问权限,有时候我们需要对部分页面的访问权限进行限制,又不影响其他公共页面的访问。举个实际项目的例子。
案例有一个ASP.NET的项目,对整个项目访问限制,不允许匿名用户访问,登录页面除外。
问题是,登录页面(假设是Manager目录下的Login.aspx文件)中应用的Script的的一个文件(假设这个文件是Script/jquery-1.7.1.min.js)
1.web.config配置文件
代码如下:
<!--配置Forms身份认证 不允许匿名用户访问,否则跳转到/Manager/login.aspx 页面 -->
<authentication mode="Forms">
<forms name="myTeacher" loginUrl="~/Manager/login.aspx" protection="All" path="/" timeout="60"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
现在我们可以理解为当用户打开程序时,会自动转到Manager/login.aspx页面,这个页面引用的jquery-1.7.1.min.js文件是不可用的。因为,限制了所有的匿名用户只能访问Login.aspx页面,只有当注册票据之后其它的页面或文件才能正常访问。所以当匿名用户需要有权限访问jquery-1.7.1.min.js文件,就需要设置某个文件或者文件的访问权限为所有用户。
代码如下:
<!--允许所有用户访问Script文件夹-->
<location path="Script">
<system.web>
<authorization>
<allow users="" />
</authorization>
</system.web>
</location>
path可以只想某个具体的文件,比如"Script/Script/jquery-1.7.1.min.js",这里设置“Script”文件夹表示,允许匿名用户访问“Script”文件夹狼蚁网站SEO优化的所以文件
代码如下:
<!--
定义 ASP.NET身份验证机制
-->
<!--允许所有用户访问Script文件夹-->
<location path="Script">
<system.web>
<authorization>
<allow users="" />
</authorization>
</system.web>
</location>
<system.web>
<customErrors mode="Off" defaultRedirect="../error.aspx"/>
<!--配置Forms身份认证 不允许匿名用户访问,否则跳转到/Manager/login.aspx 页面 -->
<authentication mode="Forms">
<forms name="myTeacher" loginUrl="~/Manager/login.aspx" protection="All" path="/" timeout="60"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
2.登录注册票据
当登录页面登录提交并登录成功后,注册票据,当注册票据之后,相当于当前用户的身份已经不是匿名用户,没有了访问权限的限制。FormsAuthentication的命名空间是using System.Web.Security;
FormsAuthentication.RedirectFromLoginPage(UserID, false); //页面注册 关键 UsersID表示登录ID
3.撕毁票据(退出系统)
FormsAuthentication.SignOut(); //撕毁票据 退出登录
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程