开发日志:使用Asp.Net中的"Forms"验证方式,操作用户权限
2010-03-01 18:17
1071 查看
一、web.config设置
1、authentication 节
作用:配置 ASP.NET 身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<authentication> 元素必需与<authorization> 节配合使用。
示例:
以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。
<authentication mode="Forms" >
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
其中元素loginUrl表示登陆网页的名称,name表示Cookie名称。
2、machineKey
作用:元素对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证
<machineKey validationKey="DD305F238C8F26103323F10B1A655ED9FA7DBB7A" decryptionKey="70DE128000E565A7F8441A4C091C11EC8C5BB9B4D4EDA7A1" validation="SHA1"/> <authentication mode="Forms"> <forms name="SKAPP.ASPXAUTH" loginUrl="~/login.aspx" protection="All" timeout="10" path="/"/> </authentication>
1、authentication 节
作用:配置 ASP.NET 身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<authentication> 元素必需与<authorization> 节配合使用。
示例:
以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。
<authentication mode="Forms" >
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
其中元素loginUrl表示登陆网页的名称,name表示Cookie名称。
2、machineKey
作用:元素对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证
属性
属性 | 说明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
decryption | 可选的 String 属性。 指定用于对数据进行解密的哈希算法的类型。 此属性可以为下列可能值之一。
默认值为 "Auto"。 | ||||||||||
decryptionKey | 必选的 String 属性。 指定用于对数据进行加密和解密的密钥或者生成该密钥的进程。当 validation 设置为 TripleDES 字段时,该属性用于 Forms 身份验证加密和解密以及视图状态加密。 如果向此属性添加 IsolateApps 修饰符,ASP.NET 将使用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。IsolateApps 也是默认值的一部分。 如果您需要在 Web 服务器网络(网络场)中支持配置,请手动设置此属性以确保配置保持一致。 此属性可以为下列可能值之一。
| ||||||||||
validation | 必选的 MachineKeyValidation 属性。 指定用来验证数据的加密类型。 此属性可以为下列可能值之一。
| ||||||||||
validationKey | 必选的 String 属性。 指定用于验证加密数据的密钥。当 enableViewStateMAC 为 true 时,validationKey 用于创建消息身份验证代码 (MAC),以确保视图状态未被篡改。validationKey 还可用于生成进程外、应用程序特定的会话 ID,以确保每个会话具有独立的会话状态变量。 如果向 ValidationKey 值添加 IsolateApps 修饰符,ASP.NET 将使用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。IsolateApps 也是默认值的一部分。 如果您需要在 Web 服务器网络(网络场)中支持配置,请手动设置 ValidationKey 属性以确保配置保持一致。 validationKey 属性可以为下列可能值之一。
|
二、记录用户信息
代码if(HttpContext.Current.User.Identity.IsAuthenticated)//用户是否通过验证 { string[] parts = HttpContext.Current.User.Identity.Name.Split(';');//返回记录的用户信息 return Convert.ToInt32(parts[0]); } else return null;
相关文章推荐
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 在ASP.NET中使用Forms Authenticatoin验证用户
- 浅谈ASP.NET的权限管理和用户验证
- Asp.Net Forms身份验证和基于角色的权限访问
- ASP.NET MVC - 用户验证和权限验证
- ASP.NET Forms权限验证(GOOD)
- 在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- 在ASP.NET中使用SQL Server作为数据库,DB First方式使用EF(EntityFramework)进行开发和部署时的connectionString
- 【商业版、提供全部源码】基于RBAC的C#ASP.NET支持多用户的通用权限管理系统高质量源码10月份销售20套【提供操作手册设计文档下载】
- asp.net web 开发登录相关操作的控件LoginName、LoginStatus和LoginView控件使用详解
- [NET]浅谈ASP.NET的权限管理和用户验证
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(3)
- 使用ASP.Net Forms模式实现WebService身份验证
- asp.net web form中 用attribute实现权限验证方式
- asp.net forms 身份验证方式下跨域登录信息共享的实现方法
- 使用Forms进行身份验证(Asp.net)
- 使用ASP.Net Forms模式实现WebService身份验证 (转)
- asp.net mvc的Filter来验证Forms 判断是否登录,角色权限以及错误处理(转)
- 使用ASP.Net Forms模式实现WebService身份验证