摘要: 在上一篇博文《asp.net中的窗体身份验证(最简单篇)》中的身份验证虽然很简单,但是有一个缺点,就是访问整个网站都必须要经过身份验证,而事实上,很多网站都不会这么要求的。 比如一个新闻系统,通常只有在发布新闻的网页才需要身份验证,而用户浏览新闻是不需要身份验证的。对于这种情况,就要针对不同的网页来进行身份验证了。 要实现这种功能,也只要将《asp.net中的窗体身份验证(最简单篇)》稍作修改,具体操作方式如下所示: 第一步、创建一个子文件夹,将所有要验证的网页都放在这个文件夹中,设置该文件夹的名字为“admin”。 第二步、修改web.config文件。 1、在<system.web& 阅读全文
posted @ 2012-05-30 21:08 齐鲁青未了 阅读(154) 评论(0) 推荐(0)
摘要: 在创建网站中,常常会使用到身份验证。asp.net中内置了几种身份验证的方式,如Windows、Froms、Passport等。这几种身份验证的方式各有不同。一般来说,网站的身份验证方式都会经过以下几个步骤: 1、输入用户名和密码,单击确定按钮。 2、在后台判断用户名和密码是否正确,如果错误返回提示;如果正确,进入可访问的页面。 在ASP时代,通常都会在验证用户名和密码是否匹配之后,创建一个Session,然后在每个需要验证的页面中判断Session是否存在,如果存在,则显示页面内容;如果不存在,产生提示,并跳转到登录页面。 但是,在asp.net时代,这个过程就给大大的减化了,不再需要在每. 阅读全文
posted @ 2012-05-30 21:06 齐鲁青未了 阅读(205) 评论(0) 推荐(0)
摘要: 关于Forms验证的文章网上千百篇,但我花了1天半的时间学会了“一点点”,现在把代码分享出来,希望对像我一样的初学者所有帮助,也希望高手给指点一下:Step 1:新建数据库(库:MyForms ;表:users ;字段:ID,userName, userPwd);Step 2:新建网站,web.config 的文件全部代码如下:web.config 的全部代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xmlversion=&q 阅读全文
posted @ 2012-05-30 20:59 齐鲁青未了 阅读(156) 评论(0) 推荐(0)
摘要: 阅读目录开始ASP.NET身份认证基础ASP.NET身份认证过程如何实现登录与注销保护受限制的页面登录页不能正常显示的问题认识Forms身份认证理解Forms身份认证实现自定义的身份认证标识在多台服务器之间使用Forms身份认证在客户端程序中访问受限页面用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。这篇博客主要讨论的话题是:ASP.NET 阅读全文
posted @ 2012-05-30 20:53 齐鲁青未了 阅读(213) 评论(0) 推荐(0)
摘要: ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“None”没有起到保护的作用,不推荐使用;“Passport”我又没用过,唉……所以我只好讲讲“Form”认证了。我打算分三部分:第一部分——怎样实现From 认证;第二部分—— Form 认证的实战运用;第三部分——实现单点登录(Single Sign On)第一部分如何运用 Form 表单认证一、新建一个测试项目为了更好说明,有必要新建一个测试项目(暂且为“FormTest”吧),包含三张页面足矣(Default.aspx、Login.aspx、UserInfo 阅读全文
posted @ 2012-05-30 20:51 齐鲁青未了 阅读(428) 评论(0) 推荐(0)
摘要: 本权限模型是基于RBAC1模型。RBAC1的特点是Role可以继承,本权限模型仅使用了RBAC1的“受限继承关系”,即Role的继承关系是一个树结构,不允许多继承。1. IUserIUser是用户。这里的用户是指广义上的用户,不但包括员工,也包括用户组、职位等,它代表角色拥有者。2. IRoleIRole是角色。角色的作用是隔离用户和资源,避免资源直接耦合用户。2.1. IAdminRoleIAdminRole是有管理权限的角色。这类角色可以新建子角色,并且可以在本身的权限范围内给子角色分配资源。此类角色一般是分配给部门主管使用。2.2. IGeneralRoleIGeneralRole是普通 阅读全文
posted @ 2012-05-26 19:41 齐鲁青未了 阅读(323) 评论(0) 推荐(0)
摘要: 这里讨论的权限只涉及到信息管理系统里面的权限管理,超出此范围的权限管理暂不涉及。1、权限的应用对象上面我们已经定义了权限的范围,就是信息系统管理里面的表单操作,那么权限的应用对象就是表单,更进一步说,就是表达表单内容的web管理页面。2、权限的分类一个页面的权限范围分为以下几种,也可以叫做基本权限单位。 操作权限:操作权限是一种页面级别的权限,也可以叫做页面权限。包括以下几种新增修改删除查询在此基础上还可以进行更加详细的一些分类,比如查看他人记录的权限,修改他人记录的权限等。这部分也可以使用下面的记录权限来实现。 按钮权限:针对页面上按钮的权限管理,包括u是否可见u是否可用有时候,我们可以把. 阅读全文
posted @ 2012-05-26 19:25 齐鲁青未了 阅读(426) 评论(0) 推荐(0)
摘要: http://www.gotapi.com/语言:英语简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/语言:英语简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。http://www.xml.org.cn/语言:中文简介:可以说是XML的中国官方网吧。W3C标准的翻译组织与XML系列技术交流社区.http://www.connectionstrings.com/语言:英语简介:这里几乎收集了所有的数据库连接字符(connectionstring)了。http://www.itpub.net 阅读全文
posted @ 2012-05-06 20:54 齐鲁青未了 阅读(162) 评论(0) 推荐(0)
摘要: CTE递归原理:递归CTE是由两个最小查询构建的.第一个是定位成员(Anchor Member,AM),它是一个非递归查询,第二个是递归成员(Recursive Member,RM),它是递归查询.在CTE括号中(AS 子句之后),定义独立查询或引用回相同CTE的查询,AM与RM由UNION ALL语句分隔.AM紧被调用一次,RM将被重复调用,直到查询不在返回数据行为止.可以使用UNION或UNION ALL运算符彼此追加多个AM,具体取决于是否希望删除重复数据(必须使用UNION ALL运算符来追加递归成员).语法如下:代码Code highlighting produced by Acti 阅读全文
posted @ 2012-05-02 21:50 齐鲁青未了 阅读(198) 评论(0) 推荐(0)
摘要: 我们在开发系统的时候,经常会遇到系统需要权限控制,而权限的控制程度不同有不同的设计方案。1.基于角色的权限设计这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,所以微软就设计出这种方案的通用做法,这种方案对于每一个操作不做控制,只是在程序中根据角色对是否具有操作的权限进行控制;这里我们就不做详述2.基于操作的权限设计这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录,结构如下:但是如果直接使用上面的设计,会导致数据库中的UserAction这张表数据量非常大,所以我们需要进一步设计提高效率,请看方案33.基于角色和操作的权限设计如上图所示,我们在添 阅读全文
posted @ 2012-04-25 13:00 齐鲁青未了 阅读(641) 评论(0) 推荐(0)