Membership学习(一)

2024-03-06 12:48
文章标签 学习 membership

本文主要是介绍Membership学习(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 Membership介绍
     Asp.net的membership提供了一种存储,验证和管理用户信息以及权限的统一的路径。membership所对应的验证方式是asp.net的Forms身份验证(注:asp.net的身份验证方式 有好几种包括windows身份验证 Forms身份验证 Passport身份认证当然还有就是没有验证)。在vs2005中 还给membership提供了一系列的控件(login控件),能方便的在asp.net实现membership。
     具体来说membership能实现:
     1.   创建用户
     2.   可以保存membership信息在sql server,Active Directory以及其他的一些数据保存方法
     3.   鉴别谁在访问你的网站。如果使用login控件,几乎可以在不写代码的情况下完成。
     4.   管理密码。包括 创建 修改 重置
     5.   创建一个唯一的值来标志每一个登陆用户,可以实现对用户的个性化以及角色管理。
     6.   提供一个用户自定义的membership provider,从而实现一些自己网站特有的数据的保存和管理。
     让membership能工作要做的一些工作:
     1.   在web.config中填写一些membership的设置,在asp.net默认情况下membership是被允许使用的 而默认的数据保存是使用ms的sql server.你可以做些设置提供其他的数据保存方法 包括自定义的方法。这将在后面的文章中具体介绍
     2.   设置你的网站使用Forms验证方式,
     3.   为membership定义用户帐号。可以使用vs2005提供的web administrator tool进行设置,也可以自己制作create user页面进行,而自定义页面 只要调用membership.createuser就可以方便的创建用户。


     Membership的管理和配置:
在web.config中配置管理membership最简单的方法就是使用Web Site Administration Tool(在vs2005的websits菜单里)。你可以指定membership的提供者sql server还是其他,密码的管理 包括是否要加密保存 以及是否要给用户提供根据事先设置的问题 恢复密码的机制。当然是用web site administration tool可以直接创建和管理用户及角色。

     Membership的方便之处在于,当一个用户通过认证之后,他的信息的保存都是系统自动完成的 这样我以前最头痛的如何安全完整的在各个页面中传递登陆用户信息这点就迎刃而解了。
     如果使用vs2005自带的login控件 要清楚一件事 就是login控件的功能实现都是调用了membership的类函数,我们完全可以自己写出所有的控件。
     之后会具体介绍membership的使用。我的介绍也是对msdn的一些翻译和整理。

Membership学习(二)membership入门
--不写一行代码在asp.net中实现用户验证管理系统
这篇文章我们将实现一个简单的网站,在网站中实现用户的身份验证,创建用户,修改密码 还有限制匿名用户访问某些目录等功能,最神奇的是使用asp.net2.0实现我们几乎不用手工写一行代码。--不知道以后程序员要做些什么事了:(!!

我们手工从头创建一个web应用,学习其中的一些技术,这个应用将要完成的任务有
1.   创建一个包含membership服务的web应用,创建一个用户
2.   使用login控件,得到用户的凭证以及显示登录用户的信息
3.   在网站里创建一个目录 里面的页面只有登录用户才能访问
4.   允许网站创建新用户
5.   用户可以修改和重置
我的开发环境windows2003,iis6.0,vs2005 team suit英文版,sql server2005 express

工作开始
一、在本地IIS上创建一个网站
1.   打开visual studio,file菜单,选择 New web site
2.   选择asp.net web site,在location下来框里选择http,然后点击browser按钮,在弹出框里选择local IIS,打开Local Web Server,选择默认网站(default web site),点击对话框右上的Create New Web Application图标,命名为membership,点击open按钮关闭对话框。
3.   选择工作语言(c#等),以后在创建其他网页时 可以选择不同的语言 :)
4.   点击OK
网站创建后 会默认生成一个default.aspx页面 我们留着他就可以了,也可以删除他 重新创建一个页面
二、配置membership
1.        创建一个新的文件夹在网站里命名为MemberPages
2.        创建一个membeship用户
a.        在菜单website里选择Asp.net configuration,在打开的网页里选择Security tab页,点击Use the security Setup Wizard to configure security step by step链接。
b.        在向导第2步里选择 From the Internet 选项 这里是让你的网站使用Form的身份认证,原因在membership介绍 文章里讲过。
c.        点击Next 这步还是默认使用sql server2005 express并会在App_Data目录里生成数据库文件。
d.        点击Next 这里不要选择Enable roles for this web site
e.        点击Next 这时是创建一个用户 输入User Name ,Password,,E-mail, Security Question and Security Answer ,创建用户。这里顺便说一下 membership默认的密码设置是比较严格的需要字母数字加特殊字符,其实我们可以在web.config中给membership的密码指定一个正则表达式 来修改密码的规则。具体可以在msdn中查找
3.        创建一个规则 限制访问一个指定的目录
a.        接着刚才的向导继续next,进入创建访问规则页面,在显示网站目录的框里,展开目录,选择刚才我们创建的MemberPages的文件夹。
b.        在Rule applies to下选择Anonymous users,在Permission下选择deny,这样就限制了匿名用户访问目录的权限。
c.        点击add this rule权限创建,接着是Finish.
三、为应用配置一个E-mail
这个操作的目的是为了恢复密码时发送密码给用户
还是在asp.net configuration的网页里 选择Application tab页面,在Smtp Settings下 点击Configure SMTP e-mail settings.链接,这个配置一个smtp服务器以及一个email账号。
配置完email就可以关闭 这个配置页面了。
四、用户登录
打开default.aspx页面,使用design视图,在上面写个welcome什么的,然后拖上一个login控件组里的loginstatus控件。接着建一个login.aspx页面,在这个例子里我们的页面的名字一定要取成login.aspx,在默认情况下 当匿名用户访问受限制的页面时,会自动转到login.aspx,这个默认设置可以通过配置更改的,这里我们就使用默认。
在login.aspx页面上拖放一个login控件组里的login控件,再放置一个ValidationSummary控件,用来现实填写的出错信息,将ValidationSummary的ValidationGroup属性设置成login控件的id名称。

显示登录用户信息
选择default.aspx页面拖上一个loginview控件,使用loginview智能标签(smart tag),选择模板AnonymousTemplate,写上”你没有登录,点击login链接登录”,然后再选择模板LoggedInTemplate,写上”欢迎”字符,再在后面拖上一个loginname控件。
这之后,你可以先测试一下你的页面 使用我们上面建立的用户进行登录,看看不同的显示。
五、建立只能用户访问的页面
在我们上面建立的MemberPages文件夹里建立一个Members.aspx页面,写上welcome member,然后 我们在default.aspx页面上拖一个HyperLInk控件,在NavigateUrl属性里写上~/memberPages/Members.aspx
这里也可以进行一次测试
六、创建新用户
在根目录里建立一个register.aspx,在页面上拖放一个CreateUserWizard控件并把它的ContinueDestinationPageUrl属性设置成~/default.aspx,这个属性是对你点击Finish之后跳转的页面。接着在页面里添加一个Hyperlink控件,NavigateUrl设置成~/default.aspx.最后在default.aspx页面里添加一个指向register.aspx页面的链接,为了好看一点 我们把这个链接放到loginview控件的AnonymousTemplate模板里。
测试一下
七、修改密码
在MemberPages文件夹里创建一个ChangePassword.aspx文件,拖上一个ChangePassword控件也把它的ContinueDestinationPageUrl属性设置成~/default.aspx。接着在default.aspx页面里添加一个指向changepassword.aspx页面的链接, 我们把这个链接放到loginview控件的LoggedInTemplate模板里。
测试
八、重置密码
在根目录里建立一个recoverypassword.aspx文件,拖一个passwordrecovery控件,并放一个链接指向default.aspx.之后在default.aspx的loginview控件的AnonymousTemplate模板里添加一个链接指向recoverypassword控件。
测试

这样整个例子完成 大家也可以看到 我们没有写一行代码。:)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/szg3827/archive/2009/07/05/4322651.aspx

这篇关于Membership学习(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/780110

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件