摆脱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= ...
随机推荐
- BZOJ4976:宝石镶嵌(DP&思维)
Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,...,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升 法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须 ...
- 20179223《Linux内核原理与分析》第十二周学习笔记
Return-to-libc 攻击实验 一.实验描述 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode.为了阻止这种类 ...
- [Scala函数特性系列]——按名称传递参数
通常情况下,函数的参数是传值参数:即参数的值在它被传递给函数之前被确定.但是,如果我们需要编写一个接收参数不希望马上计算,直到调用函数内的表达式才进行真正的计算的函数.对于这种情况,Scala提供按名 ...
- 接口测试框架——第六篇-读Excel封装方法
谢谢@小麦苹果的提醒,才发现我借口测试少写了一个文件,今天给大家补上: common->service->excel_case_data.py # coding: utf-8 import ...
- c++调用fortran程序中遇到的问题
一.C++动态调用Fortran DLL (1)创建FORTRAN DLL工程,生成forsubs.dll文件供调用. ! forsubs.f90 ! ! FUNCTIONS/SUBROUTINES ...
- uwsgi配置理解
最近使用uwsgi 部署了flask应用,出现了不少问题,仔细查阅了一下资料以及翻看了官方文档,就对自己了解到的做个总结~~ 一.http/http-socket/socketuwsgi开头当然少不了 ...
- lua resty template && openresty 使用
1. 安装 luarocks install lua-resty-template 2. 使用 配置模板页面位置 有多种方式: a. 直接使用root 目录 代码如下: ...
- 修改 CentOS 中的 repo
修改 CentOS 中的 repo 原因 由于安装 odoo 10 太慢,因为服务器是国外的. 修改 进入 repo 文件夹 cd /etc/yum.repos.d/ ls 可以看到所有的源.
- Spark性能优化:资源调优篇(转)
在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置 ...
- vue的路由初识01
今天就做了一个vue-router的实例,(路由跳转,参数的传递[一个参数,多个参数])<!DOCTYPE html> <html> <head> <meta ...