ASP.NET_FORM表单验证_单点登录_Nomads (FormsAuthentication)

Asp.net中基于Forms验证的角色验证授权 Asp.net中基于Forms验证的角色验证授权Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活。Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就会连同这个身份Cooki 阅读详情

一: ASP.NET 的安全认证模式
Windows, Forms, Passport, None

二: 修改验证模式
修改Web.config <system.web>

    <!--修改验证模式为Forms-->
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" name="HotelUser" defaultUrl="Default.aspx"></forms>
</authentication>
<!--禁止匿名登陆-->
<authorization>
<deny users="?"/>
</authorization>

三: 用户登陆,发身份验证票
FormsAuthentication.FormsCookieName ~ 就是上面的HotelUser

//登陆成功后,返回请求页面
a:System.Web.Security.FormsAuthentication.RedirectFromLoginPage(FormsAuthentication.FormsCookieName,false);

//发验证票,到指定页面
b:System.Web.Security.FormsAuthentication.SetAuthCookie(FormsAuthentication.FormsCookieName,false);
Response.Redirect("Default.aspx");

四: 用户退出
System.Web.Security.FormsAuthentication.SignOut();

五: 用户是否通过验证
User.Identity.IsAuthenticated //如果通过验证,或是有Cookie存在 值为True,否则为False

六: Web.config 作用范围
0: machine.config 的设置 作用整个机器所有目录及其目录下所有文件.   -->子随父姓
1: Web.config 的设置 作用于所在目录的所有文件及其子目录下所有文.   -->子随父姓
2: 子目录下的 Web.config 设置将覆盖由父目录继承下来的设置          -->将在外,军命有所不受

七: 设置某个文件夹或文件的访问权限
1:在相应文件夹下 建立web.config文件
<authorization>
<deny users="?"/>   //这里设置访问权限
</authorization>

2: 在根目录web.config下设置整个站点 所有文件夹 和 文夹的访问权限

<configuration>
//目录文件夹1
<location path ="Public">    //<location path ="Public/Default.aspx"> 为某个文件设置访问配置
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>

   //目录文件夹2
<location path ="ManageSys">
<system.web>
<authorization>
<allow users="Admin"/>
<allow users="WF"/>
<allow users="FY"/>
<deny users="*"/>        
</authorization>
</system.web>
</location>

//原根目录web.config 配置
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" name="HotelUser" defaultUrl="Default.aspx"></forms>
</authentication>   
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>

八:单点登陆
1:获取机器key 生成密钥

<密钥生成方法>
protected void btn_OK_Click(object sender, EventArgs e)
{
string decStr = this.CreateKeyString(int.Parse(this.TextBox1.Text));
string valStr = this.CreateKeyString(int.Parse(this.TextBox2.Text));
this.TextBox3.Text = string.Format("<machineKey validationKey=\"{0}\" decryptionKey=\"{1}\" validation=\"SHA1\"/>", valStr, decStr);
}
/// <summary>
/// 生成加密型强随机 Key 值
/// </summary>
/// <param name="i">Key 的有效长度:
/// decryptionKey 的有效值为 8 或 24;
/// validationKay 的有效值为 20 至 64
/// </param>  
private string CreateKeyString(int i)
{
System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); //加密随机数生成器
byte[] bt = new byte[i];
rng.GetBytes(bt);//用加密型强随机值序列填充字节数组
System.Text.StringBuilder str = new System.Text.StringBuilder();
for (int j = 0; j < i; j++)
{
str.Append(string.Format("{0:X2}", bt[j])); //转换成大写的十六进制文本
}
return str.ToString();
}
2:在要实现单点登陆的项目根web.config中添加密钥;

a) 两个项目Web.cinfig的<machineKey> 节点确保以下几个字段完全一样:validationKey 、decryptionKey 、validation
b) 两个项目的 Cookie 名称必须相同,也就是 <forms> 中的 name 属性,这里我们把它统一为 name ="UserLogin"    //name="www.wf.com"
c) 注意区分大小写
d) 登陆页面整合到统一登陆点登陆   比如:loginUrl="www.wf.com/login.aspx", 在登陆页面发放验证票     


//项目网站1
<system.web>
<machineKey validationKey="B3D04DE25D02B63898851BD799F5E8DBE7CE043B9A09AC2E5ACE14BD9C84717E3731837A76923B327340945010C58C31" decryptionKey="9EBAA26A9E9424994CE2C0A4C0EA5B20" validation="SHA1"/>  
<authentication mode="Forms">
<forms name="UserLogin" loginUrl="~/Login.aspx"></forms>
</authentication>
<authorization>
<deny users ="?"/>
</authorization>  
</system.web>

//项目网站2
<system.web>
<machineKey validationKey="B3D04DE25D02B63898851BD799F5E8DBE7CE043B9A09AC2E5ACE14BD9C84717E3731837A76923B327340945010C58C31" decryptionKey="9EBAA26A9E9424994CE2C0A4C0EA5B20" validation="SHA1"/>  
<authentication mode="Forms">
<forms name="UserLogin" loginUrl="~/Login.aspx"></forms>
</authentication>
<authorization>
<deny users ="?"/>
</authorization>  
</system.web>

      3: 给用户发放Cookie
<1>: 一次登陆后,给各个站点同时发放Cookie认证。
<2>: 一次登陆后,根据用户选择性的发放Cookie认证。

九: Cookie
1: 普通Cookie
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie ck = new HttpCookie("str");
ck.Expires.AddDays(1);
ck["rr"] = "str_rr_";
ck["w1"] = "str_w1_";      
Response.Cookies.Add(ck);  

HttpCookie ckNex = new HttpCookie("Nex");
ck.Expires.AddDays(1);       
ck.value= "Nex_";      
Response.Cookies.Add(ckNex);        
}
protected void Button2_Click(object sender, EventArgs e)
{         
TextBox1.Text = Request.Cookies["str"]["w1"].ToString() + Request.Cookies["str"]["rr"].ToString();       
}

2: 生成用户验证的Cookie    
public void AuthenticationUsers(string userName)
{
FormsAuthenticationTicket tichet = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddHours(24), true, "");
string hashTichet = FormsAuthentication.Encrypt(tichet);

            HttpCookie userCookie = new HttpCookie(FormsAuthentication.FormsCookieName);
userCookie.Value = hashTichet;
userCookie.Expires = tichet.Expiration;
userCookie.Domain = FormsAuthentication.CookieDomain;
HttpContext.Current.Response.Cookies.Add(userCookie);
}

这个Cookie 相当与 下面两发放的Cookie

//登陆成功后,返回请求页面
a:System.Web.Security.FormsAuthentication.RedirectFromLoginPage(FormsAuthentication.FormsCookieName,false);
//发验证票,到指定页面
b:System.Web.Security.FormsAuthentication.SetAuthCookie(FormsAuthentication.FormsCookieName,false);

转载请著名出处: http://hi.baidu.com/nomads

基于泰勒展开改进的物理信息神经网络 阅读详情

相关推荐

PP-OCRv6 ONNX部署的官方和手搓方案

PP-OCRv6 基于全新设计的 PPLCNetV4 统一骨干网络,提供 tiny、small、medium 三档模型,分别面向端侧/IoT、移动端/桌面端、服务端场景。在内部多场景综合评估集上,PP-OCRv6_medium 相比 PP-OCRv5_server 识别精度提升 5.1%、检测精度提升 4.6%,同时 GPU 推理速度提升 2.37×;以仅 34.5M 参数的规模,精度超越 Qwen3-VL-235B、GPT-5.5 等大型视觉语言模型。

懒人的技术笔记 1895

ASP.NET Form表单验证

一: ASP.NET 的安全认证模式Windows, Forms, Passport, None 二: 修改验证模式修改Web.config <system.web> <!--修改验证模式为Forms--><authentication mode="Forms"><forms loginUrl="~/Login.aspx" name="Hote...

weixin_30752377的博客 187

PFC胶结模型实战:从线性到平行粘结的力学行为解析

本文深入解析了PFC中线性接触与平行粘结(pb模型)的核心差异与应用。平行粘结模型通过模拟胶结层的力学行为,能够有效传递拉力和抵抗弯矩,是模拟岩石、混凝土等胶结材料的关键。文章详细介绍了其变形与强度参数的设置、法向与切向行为的验证方法,并揭示了全量与增量力计算中易出现的“幽灵力”问题及其解决方案,为复杂模型的构建与调试提供了实用策略。

weixin_29230773的博客 1208

ASP.NET 安全认证—— 用Form 表单认证实现单点登录(Single Sign On)

实现单点登录(Single Sign On) 只需要在验证用户名与密码后,取得该用户的部门名称或部门代码,把它作为判断的依据就行了。最好不要用部门的数字ID,那样不利于以后的维护。 Web.config 中的 &lt;location&gt; 节点的path 属性可以是一张具体页面的相对 URL 路径,如下:&lt;location path =...

weixin_34273479的博客 428

VisionMaster -Group循环、数组数据格式化

这里创建一个格式化工具,按照自己想要的模式格式化刚刚输出的数据。因为是检测多个物体,所以这里选择输出的是数组。第一次的模板很不满意,反复调整参数也没好,边缘不整齐,强迫症患者受不了。实测如果输入设置太多,会导致模块失效,所以尽量选择需要的少量参数。这里要打开循环使能,循环数值就是高精度匹配的匹配个数。Group输出设置里选择刚刚建立的数据集。左边是主流程,右边是组合模块内部流程。修改采图这里的曝光值,图像提亮一点。建一个数据集,把想要的数据收集起来。用TCP助手测试一下OK。成功得到了想要的数据。

weixin_69505365的博客 4531

2024年数字IC秋招-海康威视-数字逻辑设计工程师-笔试题

笔试题型:单选 + 多选笔试平台:百一测试(电脑监控)笔试时间:1h30minA. AW通道B. D通道C. B通道D. AR通道return x++;x = 5;y = Foo(x);

qq_42135020的博客 3199

asp.net登录验证FormsAuthenticationTicket和FormsAuthentication类

登录部分使用的类 FormsAuthentication 为 Web 应用程序管理 Forms 身份验证服务。 配置启用身份验证,WEB.config配置: <system.web> <authentication mode="Forms"> <forms loginUrl="login.aspx" /> ...

weixin_30699955的博客 439

Ubuntu 系统下安装 OpenClaw(原 Clawdbot)的详细指南

Ubuntu 系统下安装 OpenClaw(原 Clawdbot)的详细指南

Science prince的博客 3535

Forms身份验证基本原理

要采用Forms身份验证,先要在应用程序根目录中的Web.config中做相应的设置:              标签中的name表示指定要用于身份验证的HTTP Cookie(即指定Cookie名字),默认值是.ASPXAUTH .ASPXAUTH这个使用来决定用户是否被认证了,即验证用户 采用此种方式验证用户后,以此用户的信息建立一个FormsAuthentic

朝圣的魔鬼 4794

LeRobot 入门教程(十一)π0(Pi0)π0.5(Pi0.5)训练、推理、部署

本文介绍了Physical Intelligence公司开发的π₀和π₀.₅系列通用机器人控制视觉-语言-动作模型。π₀作为首款基础模型,融合流匹配、跨实体训练等技术,支持50Hz高频控制。π₀.₅是其升级版,通过异构数据协同训练解决开放世界泛化问题,在Libero基准测试中表现优异。文章详细说明了两个模型的安装要求、使用方法、训练策略及关键参数配置,包括混合精度训练、梯度检查点等优化技术,为机器人在多样化场景中的语义理解和动作控制提供了完整解决方案。

2506_90492529的博客 5039

SpringBoot 整合Jasypt 实现配置文件加密读取操作详解

SpringBoot 整合Jasypt 实现配置文件加密读取操作详解

congge 4100

FormsAuthentication使用指南

配置安全鉴别 鉴别是指鉴定来访用户是否合法的过程。ASP.NET Framework支持三种鉴别类型: Windows鉴别; NET Passport鉴别; Forms鉴别。 对于某一特定的应用程序,同一时刻只能启用其中一种鉴别方式。例如,不能在同一时刻同时启用Windows鉴别和Forms鉴别。 在默认情况下,系统将启用Windows鉴别。当Windows鉴别启用后,用户通过微软Wi

我的专栏 2万+

《QGIS快速入门与应用基础》021:插件仓库 URL 获取与添加

详细介绍了在QGIS中添加第三方插件仓库的方法。首先强调必须从官方推荐、开源社区等可靠渠道获取插件仓库URL以确保安全性,并列出了4类可信获取渠道。文章分步骤讲解了URL添加流程,包括打开插件管理器设置面板、填写仓库信息、刷新缓存验证等操作。针对常见问题如URL格式错误、连接失败等提供了具体解决方案。最后总结指出,成功添加第三方仓库后即可直接搜索安装各类专业插件,从而扩展QGIS功能边界。全文注重实操指导,特别适合需要安装行业专用插件的QGIS用户参考。

LuckyHanMo的博客 465

使用Forms Authentication实现用户注册、登录

使用Forms Authentication实现用户注册、登录 一 基础知识 本文示例代码:http://www.codeplex.com/a/Release/ProjectReleases.aspx?ReleaseId=9518 前言   本来使用Forms Authentication进行用户验证的方式是最常见的,但系统地阐明其方法的文章并不多见,网上更多的文章都是介绍

端锦的专栏 1036

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C#身份验证

身份验证票 和 form验证 using System.Web.Security; if((TextBox1.Text.Trim()=="a") && (TextBox2.Text.Trim()=="b")) { FormsAuthentication.SetAuthCookie(TextBox1.Text, false); } else ...

ddm13142005的博客 340

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

记录FormsAuthentication的使用方法

配置,配置mode="Forms",其他属性详见 MSDN(点我直接查看各authentication属性) 。 <configuration> <system.web> <authentication mode="Forms"> <forms name="cookiename" loginUrl="/home/log...

weixin_34361881的博客 201

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ASP.NET Authentication - Form Authentication

1.概念 ASP.NET的应用最开始是部署在企业内部,登录之后才能访问。如果用户直接访问非登录页,网站会先校验用户是否已登录,如果答案是否,网站认为当前的访问是未经授权的,网站立即跳转到登录页,登录之后跳转到之前访问的页面。这种以登录表单作为认证的方式就是表单认证(Form Authentication) 表单认证是最简单的认证方式,优点是配置十分简单,缺点是所有的页面(除登录页)必须经过

tomcat的专栏 1504

基于FormsAuthentication的用户、角色身份认证

一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到 Session中存储的用户基本信息,查看比较他有没有登录和能否访问当前页面。 Session的原理,也就是在服务器端生成一个SessionID对应了存储的用户数据,而SessionID存储在Cookie中,客户端以后每次请求都会带...

weixin_30522183的博客 707

使用Forms Authentication实现用户注册、登录 (一)基础知识

前言  本来使用Forms Authentication进行用户验证的方式是最常见的,但系统地阐明其方法的文章并不多见,网上更多的文章都是介绍其中某一部分的使用方法或实现原理,而更多的朋友则发文询问如何从头到尾完整第实现用户的注册、登录。因此,Anders Liu在这一系列文章中计划通过一个实际的例子,介绍如何基于Forms Authentication实现:l 用户注册(包括密码的加密存

半亩方塘 1423

ASP.NET 登录身份验证 二 自定义模式(framework)

reference: framework.supesoft.com/ Login.aspx页面分析: button事件 { 判断页面输入是否正确,如果正确,则进入一个叫Messagebox的中间页面,里面有个button指向default.aspx 注意这里在CheckLogin()里面同时进行了以下操作: privatevoidSignin(sy...

daxi1047的博客 167

FormsAuthentication实现登录

FormsAuthentication实现登录 配置项描述:               name=".ASPXAUTH"          loginUrl="login.aspx"          defaultUrl="default.aspx"          protection="All"          timeout="30"

PAPALIAN的专栏 1277

FormsAuthentication实现单点登录

原文地址:http://www.wlm.so/Article/Detail/lmb48bk9f690n00000 单点登录,这种在网络非常常见,在这里讨论的是实现同一主域下的子站间的单点登录,同样也适用于使用负载均衡后站点的登录识别。 .net,讨论基于MVC环境下的,假设域名为 wlm.so。 基础条件: 1.cookie共享 2.FormsAuthentication...

aoluanmao2090的博客 276

FormsCookieName保存登录用户名的使用

一,写一个类来实现 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; /// <summary> ///FormsCookieNameTest 的摘要说明 /// </...

dcujcivw769565的博客 282

.Net 单点登录(SSO)的原理与实现------ASP.Net Form认证

.Net 单点登录(SSO)的原理与实现——ASP.Net Form认证 一、使用Form认证    说到认证,不得不提一下ASP.Net的Form认证模式,相信大家在开发B/S架构的系统时都有用到过,例如WebForm和MVC框架都可以使用Form认证模式,至于不知道Form认证的童鞋,在这里我们我们先介绍Form的使用,一步步慢慢剖析Form认证的原理,请大家耐心的阅读本博客。同时本博...

雾月哥的博客 5600

FormsAuthentication知多少

前述:对于FormsAuthentication相信大家都烂熟于胸了,这里只是做一下小结。 一、先看一下使用FormsAuthentication做登录认证的用法 用法一: FormsAuthentication.SetAuthCookie(username, isPersistent); 用法二: FormsAuthenticationTicket ticket...

aa781398079的博客 369
上一篇: C#里判断字符串是否为纯数字
下一篇: 单点登录、统一认证
Kelvin峰
博客等级 码龄22年 23粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值