asp.net2.0安全性(1)--用户角色篇(代码实现1)--转载来自车老师
创建用户:
MembershipCreateStatus mc;
Membership.CreateUser(txtUid.Text, txtPwd.Text, txtEmail.Text, txtQuestion.Text, txtAnswer.Text, true, out mc);
Response.Write(mc.ToString());
删除用户:
if (Membership.DeleteUser(txtUid.Text))//获取用户key主键Membership.DeleteUser(key)
Response.Write("OK");
else
Response.Write("Error");
修改用户信息:
if (User.Identity.IsAuthenticated)
{
MembershipUser user = Membership.GetUser();
user.Email = txtEmail.Text;
Membership.UpdateUser(user);
Response.Write(user.Email.ToString());
}
验证用户登录信息
bool isok = Membership.ValidateUser(txtUid.Text, txtPwd.Text);
if (isok)
{
FormsAuthentication.SetAuthCookie(txtUid.Text, false);
Response.Write("OK");
}
else
{
Response.Write("Error");
}
获取登录用户的信息
if (User.Identity.IsAuthenticated)
{
MembershipUser myuser = Membership.GetUser();
if (myuser != null)
{
Response.Write(myuser.CreationDate);
Response.Write(myuser.Email);
Response.Write(myuser.IsLockedOut);
Response.Write(myuser.IsOnline);
Response.Write(myuser.PasswordQuestion);
Response.Write(myuser.UserName);
}
}
根据密码问题的答案返回用户密码
if (User.Identity.IsAuthenticated)
{
MembershipUser user = Membership.GetUser(txtUid.Text);
txtPwd.Text = user.GetPassword(txtAnswer.Text);
}
修改用户密码
if (User.Identity.IsAuthenticated)
{
MembershipUser user = Membership.GetUser();
user.ChangePassword(txtPwd.Text,txtPWd2.Text);
Response.Write(user.GetPassword(txtAnswer.Text));
}
解锁用户
MembershipUser user = Membership.GetUser(txtUid.Text);
bool b = user.UnlockUser();
Response.Write(b+" "+user.IsLockedOut);
拒绝用户登录
MembershipUser user = Membership.GetUser(txtUid.Text);
user.IsApproved = false;
Membership.UpdateUser(user);
Response.Write(user.IsLockedOut);
允许用户登录
MembershipUser user = Membership.GetUser(txtUid.Text);
user.IsApproved = true;
Membership.UpdateUser(user);
Response.Write(user.IsLockedOut);
根据用户名或邮箱来检索用户
MembershipUserCollection users;
switch(listType.Text)
{
case "姓名":
users = Membership.FindUsersByName(txtFind.Text);
if (users.Count > 0)
{
showUserInfo(users);
}
else
{
Response.Write("未找到用户名");
}
break;
case "邮箱":
users = Membership.FindUsersByEmail(txtFind.Text);
if (users.Count > 0)
{
showUserInfo(users);
}
else
{
Response.Write("未找到邮箱");
}
break;
}
(车延禄)
收藏于 2007-06-23
asp.net2.0安全性(1)--用户角色篇(代码实现1)--转载来自车老师的更多相关文章
- asp.net2.0安全性(1)--用户角色篇(代码实现2)--转载来自车老师
加载所有用户 MembershipUserCollection user = Membership.GetAllUsers(); listUser.DataSource = user; listUse ...
- asp.net2.0安全性(4)--Login系列控件--转载来自车老师
前面主要说了与安全相关的一系列的类,现在我们使用这些类就可以做出我们自己的安全系统了.其实微软的目的远不至于此,下面我们就来看一下微软为我们提供的Login系列控件. Login系列控件是微软为了简化 ...
- asp.net2.0安全性(1)--用户角色篇(类)--转载来自车老师
Membership.MembershipUser和Roles类 用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的. Membership:用户成员账号管理, ...
- asp.net2.0安全性(1)--用户角色篇(起篇)--转载来自车老师
安全管理的解决方案在.net1.1中几乎为一片空白,对于应用程序的验证与授权大部分的工作是开发人员自己编写代码,或者是借助企业库等工具来实现,此可谓.net1.1中的一大缺憾.在.net2.0中微软为 ...
- asp.net2.0安全性(2)--用户个性化设置(2)--转载来自车老师
上一篇我们用Profile.age等方式可以读取用户的年龄和其它的信息,但有的时候我们要查询显示所有用户的信息,但asp.net没有提供查询所有用户信息的功能,我们只能对现有的用户逐一查询其Profi ...
- asp.net2.0安全性(2)--用户个性化设置(1)--转载来自车老师
在Membership表中可以存储一些用户的基本信息,但有的时候,我们需要记录的用户信息远远不止Membership表中提供的这些,如QQ.MSN.家庭住址.联系电话等等.那如何把这些用户信息记录到数 ...
- asp.net2.0安全性(3)--验证与授权--转载来自车老师
"验证"与"授权"是对网页资源安全管理的两道门. 验证(Authentication):检查用户是否是合法的用户.就像是网站大门口的保卫,服责验证使用的用户名和 ...
- Asp.Net2.0下C#环境 Login控件实现用户登录
原文:Asp.Net2.0下C#环境 Login控件实现用户登录 一.前台显示效果 二.前台代码 <asp:Login ID="Login1" run ...
- ASP.NET2.0组件控件开发视频 初体验
原文:ASP.NET2.0组件控件开发视频 初体验 ASP.NET2.0组件控件开发视频 初体验 录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku. ...
随机推荐
- JAVA中IO和异常处理练习
1.SystemI\O练习:1)通过键盘输入若干字符,并通过显示器输出:2)定义一个静态方法validOrNot()用于对输入的字符进行合法性校验,若包含非英文字符,则抛出IllegalStringE ...
- mmc一维下料测试
另一组数据, 长度 = 6000; 切割长度 = {1664, 1599, 1552, 1409, 1352, 802, 660}; 需求数量 = {32, 96, 160, 16, 384, 112 ...
- GitHub学习笔记
安装 Ubuntu上安装Git sudo apt-get install git Windows上安装Git msysgit是Windows版的Git.从http://msysgit.github.i ...
- [置顶] android AIDL 进程间通信
1.定义aidl文件 a.ITestService.aidl package com.open.aidl.service; import com.open.aidl.service.ITestServ ...
- stm32之PWM
PWM是pulse width modulation的缩写,即脉冲宽度调制.其通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形: 1.PWM是一种对模拟信号电平进行数字编码的方法.通过高分辨率计 ...
- 完整的RecylerView的使用方法和例子
一.RecylerView的特点 1. 不关心Item是否显示在正确的位置,通过设置不同LayoutManager 的实例让Item显示不同的风格. 2. 不关心 Item间如何分离.要定义It ...
- c++中的 堆和栈
/*用指针p存储堆中的空间时,在将第二块内存空间赋给p之前,我们要释放p原来指向的内存空间, 这样才不会造成内存泄漏,不然的话p原来记录的内存空间就找不到了,而且也无法再次利用 注意:你在使用new以 ...
- [HDU 2553]--N皇后问题(回溯)/N皇后问题的分析
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2553 N皇后问题 Time Limit: 2000/1000 MS (Java/Others) ...
- ibatis3.0调用Oracle的存储过程
直接上源码 一,oracle储存过程. create or replace procedure proc_get_th(i_hth in varchar2,o_ret out sys_refcurso ...
- iOS开发之计算动态cell的高度并缓存
项目中有个类似微博那样的动态cell,文字和图片的多少都不是确定的 刚开始使用autolayout,结果很多问题,最后我发现了一个框架 FDTemplateLayoutCell 写的很好,自动布局ce ...