摆脱Login控件,自己定义登录操作
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
//在登录过程中,程序自动使用login.aspx进行拦截
//验证用户通过后,自动返回拦截的位置
if (Membership.ValidateUser(this.TextBox1.Text, this.TextBox2.Text))
{
this.Session["xh"] = this.TextBox1.Text;
FormsAuthentication.RedirectFromLoginPage(this.TextBox1.Text, false);
}
}
Membership用法详解用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的。Membership:用户成员账号管理,用户名、密码、邮箱等 Roles:负责用户和群组之间关系管理。 l 属性: 1) 2) 3) 4) 5) 6) 7) 8) 方法: 1) 2) DeleteUser():从数据库删除用户 3) 4) UpdateUser():更新用户信息 5) 6) 7) 8) 9) 10) l 负责管理与更新Membership表中的相关资料。别把MembershipUser类与Membership类混了,实际上是同MembershipUser处理完成后交由Membership处理。如: 1) 2) 3) 改变密码提示问题与答案 4) 5) 设置是否允许用户能够被验证 属性: 1) 2) 3) 4) 5) IsOnLine:指出用户目前是否在线 6) 7) 8) 9) 10) 11) 方法: 12) 13) 14) 15) 16) l 方法: 1) 2) 3) 4) 5) 6) DeleteRole():删除角色 7) 8) 9) 10) 11) 12) 13) 14) 15) 代码实现(1) 创建用户: MembershipCreateStatus Membership.CreateUser(txtUid.Text, txtPwd.Text, txtEmail.Text, Response.Write(mc.ToString()); 删除用户: if Response.Write("OK"); else Response.Write("Error"); 修改用户信息: if { MembershipUser user = user.Email = txtEmail.Text; Membership.UpdateUser(user); Response.Write(user.Email.ToString()); } 验证用户登录信息 bool isok if { FormsAuthentication.SetAuthCookie(txtUid.Text, Response.Write("OK"); } else { Response.Write("Error"); } 获取登录用户的信息 if { MembershipUser myuser = 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 { MembershipUser user = txtPwd.Text = } 修改用户密码 if { MembershipUser user = user.ChangePassword(txtPwd.Text,txtPWd2.Text); Response.Write(user.GetPassword(txtAnswer.Text)); } 解锁用户 MembershipUser bool b = Response.Write(b+" 拒绝用户登录 MembershipUser user = user.IsApproved = Membership.UpdateUser(user); Response.Write(user.IsLockedOut); 允许用户登录 MembershipUser user.IsApproved = Membership.UpdateUser(user); Response.Write(user.IsLockedOut); 根据用户名或邮箱来检索用户 MembershipUserCollection switch(listType.Text) { case users = Membership.FindUsersByName(txtFind.Text); if { } else { } break; case users = Membership.FindUsersByEmail(txtFind.Text); if { } else { } break; } 代码实现(2) 加载所有用户 MembershipUserCollection listUser.DataSource = listUser.DataBind(); 加载所有角色 string[] role = listRole.DataSource = listRole.DataBind(); 添加新角色 Roles.CreateRole(txtRole.Text); 删除角色 Roles.DeleteRole(txtRole.Text); 将一个用户添加到一个角色 Roles.AddUserToRole(listUser.Text, 将一个用户从一个角色中移除 Roles.RemoveUserFromRole(listUser.Text, 将一个用户加入到多个角色中去 int n = foreach (ListItem li in listRole.Items) { if (li.Selected) n++; } string[] roles = new string[n]; int i=0; foreach(ListItem li in listRole.Items) { if(li.Selected) { roles[i++] = } } Roles.AddUserToRoles(listUser.Text, roles); 将一个用户的所有角色移除 string[] Roles.RemoveUserFromRoles(listUser.Text,str); 将多个用户加入到一个角色中去 int n = 0; foreach (ListItem li in { if (li.Selected) } string[] users = new int i=0; foreach (ListItem li in { if { users[i++] = } } Roles.AddUsersToRole(users,listRole.Text); 将一个角色中的所有的用户移除 string[] Roles.RemoveUsersFromRole(users, 将多个用户加入到多个角色 int n = 0; foreach (ListItem li in listUser.Items) { if (li.Selected) n++; } string[] strUser = new n = 0; foreach (ListItem li in { if (li.Selected) } string[] strRoles = new for (int i = 0; i < listUser.Items.Count; { strUser[i] = } for (int i = 0; i { strRoles[i] = listRole.Items[i].Text; } Roles.AddUsersToRoles(strUser, strRoles); 1.创建用户...string userName = txtUsername.Text; } |
摆脱Login控件,自己定义登录操作的更多相关文章
- Asp.Net2.0下C#环境 Login控件实现用户登录
原文:Asp.Net2.0下C#环境 Login控件实现用户登录 一.前台显示效果 二.前台代码 <asp:Login ID="Login1" run ...
- login控件“您的登录尝试不成功。请重试”的解决方法
原文:login控件"您的登录尝试不成功.请重试"的解决方法 遇到login控件“您的登录尝试不成功.请重试”报错之后,在网上找了很久,也按照如下帖子设置了 application ...
- asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件
原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成 ...
- ASP.NET关于Login控件使用 (转)
分类: C# 2011-02-21 10:38 4599人阅读 评论(0) 收藏 举报 loginasp.netstringurlserverbutton 今天上网找了一些关于Login控件的使用资料 ...
- asp.net Login控件基本属性及事件说明
原文:asp.net Login控件基本属性及事件说明 Login系列控件是微软为了简化我们的开发过程,为我们进行常规的安全开发提供块捷途径. Login系列控件包含下列控件: Login 登录控件 ...
- ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件
原文:ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件 Login控件它是属于Membership服务的一部分,必须配置Membership提供程 ...
- Login控件尝试
新建web项目,添加default.aspx.Register.aspx.Login.aspx. default.aspx中添加LoginName.LoginStatus,LoginName的Form ...
- Delphi的TListView控件拖放选定行操作
http://www.tansoo.cn/?p=401 Delphi的TListView控件拖放选定行操作的例子,效果图如下:TListView控件拖动选定行到指定位置 具体实现步骤: 一.新建一个D ...
- 关于asp:login控件和验证码的问题?(转)
1.验证码页面添加.2.将这验证码页面添加到login控件中:拖曳一Login控件,将之切换到模式下,在Html源文件中在表格中密码那行后添加: <tr> <td style= ...
随机推荐
- Sublime Text 2 设置文件详解(转)
Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自己 ...
- java小知识点 2015/10/6
java中length,length(),size()区别: 1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度 2 java中的length()方法是针对字 ...
- NSLayoutConstraint 布局,配合简单的动画效果
demo地址 :链接: http://pan.baidu.com/s/1c00ipDQ 密码: mi4c 1 @interface ViewController () @property (nonat ...
- hiho1523 数组重排2
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个1-N的排列A1, A2, ... AN,每次操作小Hi可以选择一个数,把它放到数组的最左边. 请计算小Hi最少进 ...
- Atocder ARC082 F-Sandglass 【思维题】*
Atocder ARC082 F-Sandglass Problem Statement We have a sandglass consisting of two bulbs, bulb A and ...
- 将 async/await 异步代码转换为安全的不会死锁的同步代码
在 async/await 异步模型(即 TAP Task-based Asynchronous Pattern)出现以前,有大量的同步代码存在于代码库中,以至于这些代码全部迁移到 async/awa ...
- 船长带你看书——《selenium2 python 自动化测试实战》(1)
有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了.现在,你有机会再从头学一次了.从今天开始,船长会从最基本的知识开始,和大家一起学selenium.能不能跟着一起就看大 ...
- visibility:hidden和display:none的区别
大家知道,如果想让某一段代码在前台不显示,最简单的方法是用css的display:none即可,这样下边的内容就自动上移或右侧的左移来填补这个空隙. 但特殊情况下我们只需要隐藏这个元素,但它的位置不能 ...
- Protel 99 铺铜的一个坑 Pour Over Same
Protel 99 铺铜的一个坑 Pour Over Same 好久没用 Protel 99 了,修改了一个旧的 PCB 文件. 需要修改线路,由于改了线路需要重新铺铜,得重新画铺铜的边框. 以下这个 ...
- js前台调用lodop打印
lodop简单介绍 lodop的打印功能已经非常强大,也在带web端的图形界面,可以供用户使用.使用js在前台调用lodop打印,一般分为两种方法: 1:特殊的指令打印,这种打印方式,是采用的与js无 ...