配置身份验证
Asp.net Framework支持三种验证类型
Windows身份验证
.net Passport身份验证
Forms身份验证
对于特定程序,同一时刻只能启用一种身份验证方式
默认情况下,系统将启用Windows身份验证。验证用户职责委派给了IIS
.Net Passport身份验证是诸如MSN和Hotmail这样的微软Web站点使用的验证类型。
Forms身份验证。启用Forms身份验证后,通常会使用Cookie来验证用户。
Web.Config
1、配置Forms身份验证
Forms身份验证的几个配置选项如下所示:
cookieless 不支持Cookie时也可以使用Forms身份验证 UseCookies,UseUri,AutoDetect和UseDeviceProfie默认值 UseDeviceProfie
defaultUrl 用于指定用户通过身份验证后转向的页面,默认值:default.aspx
domain 用于指定与验证Cookie相关的域,默认为空字符串
enableCrossAppRedirects 用于通过传递查询字符串中的验证凭证来在应用程序之间验证用户。默认:false
loginUrl 用于指定Login页面的路径。默认:Login.aspx
name 用于指定验证cookie的名字。默认:.ASPXAUTH
path 用于指定和验证cookie相关联的路径。默认值:/
protection 用于指定如何对验证cookie进行加密。取值:All,Encryption,None和Validation。默认:ALL
requiressSSL 用于指定在传递验证Cookie时是否需要使用SSL连接,默认False
slidingExpiration 用于防止验证Cookie在一段时间内的再次访问中过期。取值:true,false 默认:true
timeout 用于指定验证Cookie有多少分钟后过期。默认30
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="s2_2"/>
</authentication>
</system.web>
</configuration>
2、使用无Cookie的Forms身份验证
Forms身份验证通常是使用Cookie来识别用户。有不支持Cookie的,可以用无Cookie身份验证功能。
启用无Cookie身份验证功能后,将通过一串添加到页面URL中的唯一字符串标识来识别用户。
如果用户在应用程序的相关页面间来回导航,那么字符串标识也将自动地在这些页面间进行传递,同时应用程序会在这样的页面交叉请求中自动识别用户。
如果希望ASP.NET Framework能自动检测浏览器是否支持Cookie功能,必须将Cookieless特性设置为AutoDetect。
3、在Forms身份验证中使用相对超时限制
用户在一段30分钟时间间隔内即使没有请求任何页面,该用户也仍然处于已验证状态。如果用户在合法登录后越过30分钟未访问任何页面,那么该用户将自动登出应用程序。
强制用户每分钟都进行一次登录。
4、跨应用程序使用Forms身份验证
问题:
1.不希望公司的员工在公司不同的应用程序间切换时时行多次登录
2.在运行一个Web服务器集群(web farm ),不希望用户在访问不同的Web服务器时都进行登录。
通过Web配置文件的machineKey元素,可以设置该加密密钥和校验码。
GenerateKeys.aspx
显示指定了密钥的MachineKey元素,可以加入服务器根目录的Web配置文件。
5、跨域使用Forms身份验证
P62
6、使用FormsAuthentication类
使用Forms身份验证的主要API是FormsAuthentication类。
属性:
cookieDomain 返回身份验证Cookie关联的域
cookieMode 返回无Cookie身份验证模式。
cookieSupported 支持cookie 并Forms启用了cookie功能,返回true
DefaultUrl 验证成功后所转向的页面URL
EnableCrossAppRedirects 当身份验证凭证从查询字符串中删除时,该属性返回True
FormsCookieName 返回身份验证Cookie的名字
FormsCookiePath 返回和身份验证Cookie相关联的路径
LoginUrl 返回和用户身份验证时所转向的页面URL
RequiredSSL
SlidingExpiration 相对超时限制策略
方法:
Authenticate 根据存储在Web配置文件中的用户名和密码清单来验证输入的用户名和密码
Decrypt 用于解密身份验证Cookie
GetAuthCookie 用于获取身份验证Cookie
GetRedirectUrl 用于获取重定向到Login页面之前的原始页面路径
HashPasswordForStoringInConfigFile 对将要存入Web配置文件中的密码进行散列
RedirectFromLoginPage 使用返回重定向到Login页面前的原始页面
RedirectToLoginPage 将用户请求重定向到Login页面
RenewTicketIfOld 用于更新身份验证cookie的过期时间
SetAuthCookie 创建和发布身份验证Cookie
SignOut 移除身份验证Cookie并同时使用户登出应用程序
7、使用User类
通过Page.User或HttpContext.User属性可以获取当前用户的用户信息。
2011-5-4 10:07:23 danny
Asp.net Framework支持三种验证类型
Windows身份验证
.net Passport身份验证
Forms身份验证
对于特定程序,同一时刻只能启用一种身份验证方式
默认情况下,系统将启用Windows身份验证。验证用户职责委派给了IIS
.Net Passport身份验证是诸如MSN和Hotmail这样的微软Web站点使用的验证类型。
Forms身份验证。启用Forms身份验证后,通常会使用Cookie来验证用户。
Web.Config
<configuration> <system.web> <authentication mode="Forms"> </authentication> </system.web> </configuration>
1、配置Forms身份验证
Forms身份验证的几个配置选项如下所示:
cookieless 不支持Cookie时也可以使用Forms身份验证 UseCookies,UseUri,AutoDetect和UseDeviceProfie默认值 UseDeviceProfie
defaultUrl 用于指定用户通过身份验证后转向的页面,默认值:default.aspx
domain 用于指定与验证Cookie相关的域,默认为空字符串
enableCrossAppRedirects 用于通过传递查询字符串中的验证凭证来在应用程序之间验证用户。默认:false
loginUrl 用于指定Login页面的路径。默认:Login.aspx
name 用于指定验证cookie的名字。默认:.ASPXAUTH
path 用于指定和验证cookie相关联的路径。默认值:/
protection 用于指定如何对验证cookie进行加密。取值:All,Encryption,None和Validation。默认:ALL
requiressSSL 用于指定在传递验证Cookie时是否需要使用SSL连接,默认False
slidingExpiration 用于防止验证Cookie在一段时间内的再次访问中过期。取值:true,false 默认:true
timeout 用于指定验证Cookie有多少分钟后过期。默认30
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="s2_2"/>
</authentication>
</system.web>
</configuration>
2、使用无Cookie的Forms身份验证
Forms身份验证通常是使用Cookie来识别用户。有不支持Cookie的,可以用无Cookie身份验证功能。
启用无Cookie身份验证功能后,将通过一串添加到页面URL中的唯一字符串标识来识别用户。
如果用户在应用程序的相关页面间来回导航,那么字符串标识也将自动地在这些页面间进行传递,同时应用程序会在这样的页面交叉请求中自动识别用户。
如果希望ASP.NET Framework能自动检测浏览器是否支持Cookie功能,必须将Cookieless特性设置为AutoDetect。
<?xml version="1.0"?> <configuration> <system.web> <authentication mode="Forms"> <forms cookieless="AutoDetect"/> </authentication> </system.web> </configuration>
3、在Forms身份验证中使用相对超时限制
用户在一段30分钟时间间隔内即使没有请求任何页面,该用户也仍然处于已验证状态。如果用户在合法登录后越过30分钟未访问任何页面,那么该用户将自动登出应用程序。
<?xml version="1.0"?> <configuration> <system.web> <authentication mode="Forms"> <forms slidingExpiration="false" timeout="1"/> </authentication> </system.web> </configuration>
强制用户每分钟都进行一次登录。
4、跨应用程序使用Forms身份验证
问题:
1.不希望公司的员工在公司不同的应用程序间切换时时行多次登录
2.在运行一个Web服务器集群(web farm ),不希望用户在访问不同的Web服务器时都进行登录。
通过Web配置文件的machineKey元素,可以设置该加密密钥和校验码。
<?xml version="1.0"?> <configuration> <system.web> <machineKey decryption="Auto" validation="SHA1" decryptionKey="AutoGenerate,IsolateApps" validationKey="AutoGenerate,IsolateApps"/> <authentication mode="Forms"> <forms slidingExpiration="false" timeout="1"/> </authentication> </system.web> </configuration>
GenerateKeys.aspx
<%@ Page Language="C#" %> <%@ Import Namespace="System.Security.Cryptography" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { lblAES.Text = GetSequence(64); lblSHA1.Text = GetSequence(128); } private string GetSequence(int length) { byte[] buffer = new byte[length / 2]; RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider(); provider.GetBytes(buffer); StringBuilder builder = new StringBuilder(length); for (int i = 0; i < buffer.Length; i++) builder.Append(string.Format("{0:X2}", buffer[i])); return builder.ToString(); } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> AES: <asp:Label ID="lblAES" runat="server" /> <br /> <br /> SHA1: <asp:Label ID="lblSHA1" runat="server" /> </div> </form> </body> </html>
显示指定了密钥的MachineKey元素,可以加入服务器根目录的Web配置文件。
5、跨域使用Forms身份验证
P62
6、使用FormsAuthentication类
使用Forms身份验证的主要API是FormsAuthentication类。
属性:
cookieDomain 返回身份验证Cookie关联的域
cookieMode 返回无Cookie身份验证模式。
cookieSupported 支持cookie 并Forms启用了cookie功能,返回true
DefaultUrl 验证成功后所转向的页面URL
EnableCrossAppRedirects 当身份验证凭证从查询字符串中删除时,该属性返回True
FormsCookieName 返回身份验证Cookie的名字
FormsCookiePath 返回和身份验证Cookie相关联的路径
LoginUrl 返回和用户身份验证时所转向的页面URL
RequiredSSL
SlidingExpiration 相对超时限制策略
方法:
Authenticate 根据存储在Web配置文件中的用户名和密码清单来验证输入的用户名和密码
Decrypt 用于解密身份验证Cookie
GetAuthCookie 用于获取身份验证Cookie
GetRedirectUrl 用于获取重定向到Login页面之前的原始页面路径
HashPasswordForStoringInConfigFile 对将要存入Web配置文件中的密码进行散列
RedirectFromLoginPage 使用返回重定向到Login页面前的原始页面
RedirectToLoginPage 将用户请求重定向到Login页面
RenewTicketIfOld 用于更新身份验证cookie的过期时间
SetAuthCookie 创建和发布身份验证Cookie
SignOut 移除身份验证Cookie并同时使用户登出应用程序
7、使用User类
通过Page.User或HttpContext.User属性可以获取当前用户的用户信息。
2011-5-4 10:07:23 danny
发表评论
-
16、使用数据源缓存
2011-06-07 09:43 799使用数据源缓存 除了在页面或用户控件级别进行缓存之外,也可以 ... -
15、使用部分页面缓存2
2011-06-02 09:17 7503、共享用户控件的输出缓存 默认情况下,同一个用户控件在不同页 ... -
14、使用部分页面缓存
2011-05-31 16:10 832使用部分页面缓存 1、 ... -
13、使用页面输出缓存2
2011-05-23 09:23 9268、使用编程方式设置页面输出缓存过期 可以使用Response ... -
12、使用页面输出缓存
2011-05-22 09:31 688使用页面输出缓存 可以给页面添加<%@ OutputC ... -
11、缓存概览
2011-05-21 13:04 409缓存概览 ASP.NET 3.5 Framework支持下面 ... -
10、使用用户配置文件
2011-05-18 09:09 1085使用用户配置文件 Asp.net Framework提供了一 ... -
9、使用Session状态
2011-05-17 09:16 861使用Session状态 不可能 ... -
8、使用浏览器Cookie
2011-05-16 11:13 1175使用浏览器Cookie set-cook ... -
7、使用角色管理器
2011-05-14 10:32 516使用角色管理器 Asp.net Framework提供三个角 ... -
6、使用ASP.NET Membership
2011-05-13 21:36 769使用ASP.NET Membership 通过Asp.net ... -
5、配置安全授权
2011-05-13 15:14 573配置安全授权 授权是指识别用户是否可以访问特定资源的过程。 ... -
3、使用LoginStatus控件
2011-05-12 21:44 902使用LoginStatus控件 根据当前用户的验证状态,Lo ... -
2、使用CreateUserWizard控件
2011-05-12 09:18 1156使用CreateUserWizard控件 CreateUse ... -
1、使用Login控件
2011-05-11 21:27 1376使用Login控件 1、Login控件概览 加密文件: Se ...
相关推荐
在IIS服务器中,常用的身份验证方式有基本身份验证、摘要式身份验证、Windows 身份验证等。我们可以根据实际情况要求选择合适的身份验证方式。 IIS权限配置 4、禁止匿名访问 在IIS管理器中,可以在“身份验证”里,...
Spring Security 4的基本身份验证的简单演示: 使用JUnit使用Spring MockMVC进行Spring MVC的集成测试 使用JUnit进行Spring Security集成测试 通过使用WebAppInitializer类来摆脱web.xml配置 使用...
ElasticSearch的HTTP基本/ IP身份验证 1、配置简单 2、有白名单配置,白名单ip列表用户无需验证可直接访问,白名单外用户需用户名密码 3、由于白名单无法控制通过域名的访问,如果要通过域名访问ES必须要通过用户名...
Laravel 2-Step Verification 是一个包,可以轻松地将 2-Step 用户身份验证添加到任何 Laravel 项目。 它是可配置和可定制的。 它使用通知向用户发送带有 4 位验证码的电子邮件。 可以与 Laravel 的身份验证脚手架...
二 配置vty的aaa身份验证方式,首先使用radius 服务器,如果服务器不可用,使用本地用户名口令数据库 sw1(config)# aaa authentication login TEST group radius line sw1(config)# line vty 0 15 sw1(config-...
把服务器名称改为127.0.0.1,用SQL身份验证,登录名sa 密码为sa口令,勾选记住密码。点击连接,连接上即配置成功。 用友-服务器配置全文共6页,当前为第5页。用友-服务器配置全文共6页,当前为第5页。9.安装完成u8...
4. 安装过程中需要设置密码,可以选择使用强密码身份验证或使用旧式身份验证。完成密码设置后,点击“Execute”开始安装。 5. 等待安装完成。安装速度取决于电脑性能。 二、验证MySQL安装是否成功 1. 安装完成后,...
2.开启防火墙 3.安装杀毒软件 ...1)新做系统一定要先打上补丁 ...4)修改本地策略——>安全...网络访问: 不允许存储网络身份验证的凭据或 .NET Passports 启用 网络访问:可远程访问的注册表路径和子路径 全部删除
1上安装SMTP服务器。2.修改SMTP服务器IP地址和端口号设置。启动、停止、暂停SMTP服务器-8出站连接的身份验证设置-11重传域间隔时间设置-12消息跳跃计数设置-有截图和详细步骤
大话设计模式 之 小菜编程成长记 (3 of 4)
4.把“本地帐户的共享和安全模型”设置为“经典-对本地用户进行身份验证,不改变其本来身份”;5.可以把管理员帐户状态设置为“启用本地管理员帐户”;6.其他帐户,把“使用空密码的本地帐户只允许进行控制台登录”...
自述文件 通过JSON进行远程身份验证时,配置CORS并覆盖Devise以传递JWT的简单示例。 您可以在此处查看详细说明此内容的截屏视频: 以下是创建帐户的过帐请求示例: curl -H "Content-Type: application/json" \ -X ...
使用IdentityServer4,Twilio和.NET 5的两要素(2FA)身份验证 .NET 5中使用IdentityServer4和Twilio的两因素身份验证演示 设置Twilio帐户并获取SID,AuthToken和电话号码 在appsettings.json中更新Twilio配置 修改...
13 身份验证和用户管理 151 通过身份验证和权限确保 ESX 的安全 151 ESX 加密和安全证书 157 14 服务控制台安全 165 常规安全建议 165 登录到服务控制台 166 服务控制台防火墙配置 166 密码限制 170 密码强度 175 ...
4. 安装过程中需要设置密码,可以选择使用强密码身份验证或使用旧式身份验证。完成密码设置后,点击“Execute”开始安装。 5. 等待安装完成。安装速度取决于电脑性能。 二、验证MySQL安装是否成功 1. 安装完成后,...
此软件可以与Codeigniter 3一起使用,以针对Active Directory域控制器(或Samba4域控制器)进行身份验证。 该软件旨在在Intranet上使用。 安装 确保您使用的是PHP 7.x 安装Codeigniter 3 安装Ion-Auth 使用...
2.开启防火墙 3.安装杀毒软件 ...1)新做系统一定要先打上补丁 ...4)修改本地策略——>安全...网络访问: 不允许存储网络身份验证的凭据或 .NET Passports 启用 网络访问:可远程访问的注册表路径和子路径 全部删除
- 配置路由器使用本地数据库进行身份验证,例如通过`aaa new-model`命令启用AAA并设置`aaa authentication login <login-name> local`。 - 可能还需要配置其他身份验证方式,如TACACS+或RADIUS服务器。 4. **配置...
18.2.1 启用并配置表单身份验证 313 18.2.2 建立登录页面 314 18.2.3 创建资源提供页 316 18.3 Windows身份验证 318 18.4 成员资格和角色管理 318 18.4.1 Membership类 318 18.4.2 成员资格提供程序 319 18.4.3 角色...