提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2011-03-15 13:36:12.000|阅读 547 次
概述:ASP.NET中身份验证有三种方式,分别是Windows、Forms和 Passport,Windows验证基于窗体验证,需要每个页面写上验证身份代码,相对灵活,但操作过于复杂;Passport使用由微软提供的集中身 份验证方式,安全性较高,但实现较复杂。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
ASP.NET中身份验证有三种方式,分别是Windows、Forms和Passport,Windows验证基于窗体验证,需要每个页面写上验证身份代码,相对灵活,但操作过于复杂;Passport使用由微软提供的集中身 份验证方式,安全性较高,但实现较复杂。最适合中小型项目的就是基于Forms的身份验证,它将所定义的文件和目录集中到一个页面去做验证,将用户的身份 发回写到客户端的Cookie,在Cookie未过期的时间段内用户再次访问网站,就会连同身份Cookie发送到服务器端,服务端的授权设置可以根据不 同目录不同用户进行控制了。它的权限模型为用户——角色模型,能满足绝大多数应用场景。
无角色场景实现
应用场景中所有用户都拥有全部权限,此时就只有一个角色,或者认为没有角色,这样只需要验证cookie是否存在即可。以下将一步一步实现该应用。
首先建立网站项目,修改Web.config:
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true">
</compilation>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/login.aspx" protection="All"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
这里注意authetication段为配置身份验证方式,loginUrl为默认验证页,直接访问其它页会返回到此页进行身份验证。name属性值为cookie名称。另外它还拥有以下属性:
cookieless:定义是否使用Cookie及Cookie的行为。UserCookies指定无论在任何设备上都使用Cookie;UseUri指定从不使用Cookie;AutoDetect指自适应设备使用;UseDeviceProfile指定适应浏览器支持Cookie。
defaultUrl:定义在身份验证后重定向的默认URL。
timeout:指定Cookie过期时间。
domain:指定Cookie所在域,要知道Cookie是不能跨域的。
Protection:设置为 All,以指定窗体身份验证票的保密性和完整性。这导致使用 machineKey 元素上指定的算法对身份验证票证进行加密,并且使用同样是 machineKey 元素上指定的哈希算法进行签名。
使用authorizaion元素配置用户授权模型,使用allow元素存储允许访问的用户和角色,使用deny元素存储拒绝访问的用户和角色。分别使用users、roles和verbs来控制用户、角色及HTTP传输方法。如:
<authorization>
<allow users="user1,user2,user3" roles="admin,submitter" verbs="GET,HEAD,POST,DEBUG" />
<deny users="user4" roles="guest" verbs="" />
</authorization>
表示授权user1,user2,user3访问,不允许user4访问,访问角色权限为admin和submitter,允许行为为GET四种。我们这里使用user="?"代表所有用户。
建立login.aspx,页面布局如下:
验证身份及写入Cookie代码如下:
if (txtName.Text.Equals(userName) && txtPassword.Text.Equals(userPassword)) {
//创建票据
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddDays(30), true, userName + "," + userPassword);
//加密票据
string authTicket = FormsAuthentication.Encrypt(ticket);
//存储为cookie
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, authTicket);
cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie);
Response.Redirect("index.aspx");
}
这样Cookie就写入了客户端,用户访问其他页面,如果检测到Cookie不存在就会跳转到login.aspx这个页面进行验证。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢