Asp.net用户管理API的应用(下)

简介:
4、注销用户
 
1FormsAuthentication.SignOut();//注销用户 
2Roles.DeleteCookie();//清除cookie 
3FormsAuthentication.RedirectToLoginPage();//注销后转回到登陆页 
4
 
5、删除用户
 
1string username =”用户名”;    
2Membership.DeleteUser(username); 
3FormsAuthentication.RedirectToLoginPage();//注销后转回到登陆页 
4
 
6、修改用户信息
 
1MembershipUser MU = Membership.GetUser ();    
2MU.Email = "[email]axzxs2002@163.com[/email]";                
3Membership.UpdateUser(MU);
 
 
7、修改密码
 
1if (Membership.GetUser().ChangePassword(OldTextBox. Text, newTextBox. Text)) 
2{ 

4                        Response.Write("更改用户密码成功!"); 
5} 
else 
7{ 
8                        Response.Write("更改用户密码失败!"); 
9 } 
10 
11
 
 
 
8、修改密码问题
 
1if (Membership.GetUser().ChangePasswordQuestionAndAnswer(PassWordTB. Text, this.OldQuesTB. Text, NewQuesTB. Text)) 
2{ 
3     Response.Write("更改提问问题成功!"); 
4} 
5else 
6 { 
7     Response.Write("更改提问问题失败!"); 
8} 


 
 
9、获取所有用户信息
 
1    Response.Write("当前用户:" + Page. User.Identity. Name + "<br >");                        
2                        DataTable DT=new DataTable (); 
3                        DT.Columns. Add("用户名 ", typeof(string));    
4                        DT.Columns. Add("创建时间",typeof(string)); 
5                        DT.Columns. Add("Email", typeof(string)); 
6                        DT.Columns. Add("是否在线", typeof(string)); 
7                        DT.Columns. Add("问题", typeof(string)); 
8                        DT.Columns. Add("角色",typeof(string));                     
9                        foreach (MembershipUser MU  in Membership.GetAllUsers()) 
10                        { 
11                                string js = ""; 
12                                string[] jsArr = Roles.GetRolesForUser(MU.UserName); 
13                                foreach (string jss  in jsArr) 
14                                { 
15                                        js += jss +"    "; 
16                                } 
17                                DT.Rows. Add(MU.UserName, MU.CreationDate, MU.Email, MU.IsOnline, MU.PasswordQuestion, js); 
18                        }                    
19                        GridView1.DataSource = DT; 
20                        GridView1.DataBind(); 
21
 
 
10、 获取所有角色
1 string[] roseArr= Roles.GetAllRoles(); 
2 GridView2.DataSource = roseArr; 
3 GridView2.DataBind();
 
 
11、创建角色
 
1                try 
2                { 
3                        Roles.CreateRole(RoseTextBox. Text); 
4                } 
5                catch (Exception me) 
6                { 
7                        Response.Write(me.Message); 
8                }
 
 
12、给用户分配角色
 
1                try 
2                { 
3                        Roles.AddUserToRole(usernameTB. Text ,RolseTB. Text); 
4                } 
5                catch (Exception me) 
6                { 
7                        Response.Write(me.Message); 
8                } 
9
 
 
13、获取角色下的用户
把角色对应的用户加载到树形菜单中
 
1TreeView1.Nodes.Clear();    
2string[] rolesArr= Roles.GetAllRoles(); 
3foreach (string ro  in rolesArr) 
4             { 
5                     TreeNode TN = new TreeNode(ro); 
6                     TreeView1.Nodes. Add(TN);    
7             } 
8for ( int i=0;i<TreeView1.Nodes. Count ;i++) 
9             { 
10                 string[] yh=     Roles.GetUsersInRole (TreeView1.Nodes[i]. Text ); 
11                 foreach (string s  in yh) 
12                 { 
13                         TreeNode TTN = new TreeNode(s); 
14                         TreeView1.Nodes[i].ChildNodes. Add(TTN); 
15                 } 
16             } 
17
 
 
现在有了用户和角色,用户和角色也能关联上了,但权限怎么办呢?角色对应的权限怎么来实现呢?权限的设置要在web.config中的验证段落来配置。比如下面的设置,是设置了只有收银员这个角色才能进入系统,其他用户都是不可以的。
 
1<authentication mode="Forms">     
2        </authentication> 
3        < authorization > 
4            <allow roles="收银员" /> 
5            < deny users="*" /> 
6</ authorization
7
 
 
在权限这块,常出现的问题是一种角色,对应着一种访问权限,即一种角色具有相同的访问某些页面,这个怎么实现呢?这里可以通过配置相应的验证来实现,比如下页的实例:
 
1 <location path="register.aspx" allowOverride="true" > 
2        <system.web> 
3            < authorization > 
4                <allow users="?" /> 
5            </ authorization
6        </system.web>    
7 </location> 
8
 
 
这段是配置了所有用户和角色都是可以访问register.aspx页面的。


















本文转自桂素伟51CTO博客,原文链接:http://blog.51cto.com/axzxs/149972 ,如需转载请自行联系原作者


相关文章
|
7月前
|
供应链 搜索推荐 数据挖掘
探秘京东 API 接口的神奇应用场景
京东API如同数字钥匙,助力商家实现商品、库存、订单等多平台高效同步,提升效率超80%。支持物流实时追踪,增强用户满意度;赋能精准营销与数据分析,决策准确率提升20%以上,全面优化电商运营。
180 1
|
8月前
|
人工智能 自然语言处理 机器人
使用 API 编程开发扣子应用
扣子(Coze)应用支持通过 API 编程,将 AI 聊天、内容生成、工作流自动化等功能集成至自有系统。主要 API 包括 Bot API(用于消息交互与会话管理)及插件与知识库 API(扩展功能与数据管理)。开发流程包括创建应用、获取密钥、调用 API 并处理响应,支持 Python 等语言。建议加强错误处理、密钥安全与会话管理,提升集成灵活性与应用扩展性。
2436 0
|
9月前
|
监控 供应链 搜索推荐
电商数据开发实践:深度剖析1688商品详情 API 的技术与应用
在电商数字化转型中,数据获取效率与准确性至关重要。本文介绍了一款高效商品详情API,具备全维度数据采集、价格库存管理、多媒体资源获取等功能,结合实际案例探讨其在电商开发中的应用价值与优势。
|
9月前
|
API 定位技术 调度
实现精准定位的—坐标系经纬度转换API技术说明和行业应用
在地图服务、物流调度等应用中,多源地理位置数据因采用不同坐标系(如WGS84、GCJ02、BD09)需统一转换,以避免位置偏移影响路径规划与分析精度。本文介绍坐标转换背景、技术方案及Python调用示例,强调其在智慧交通与物流系统中的重要性。
874 0
|
7月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
275 11
|
8月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
955 11
|
8月前
|
安全 API 数据安全/隐私保护
【Azure 环境】Microsoft Graph API实现对Entra ID中应用生成密码的时间天数
本文介绍如何通过 Azure 的 App Management Policy 限制用户在创建 AAD 应用程序的 Client Secret 时设置最长 90 天的有效期。通过 Microsoft Graph API 配置 defaultAppManagementPolicy,可有效控制密码凭据的生命周期,增强安全管理。
202 4
|
8月前
|
Java API 开发者
揭秘淘宝详情 API 接口:解锁电商数据应用新玩法
淘宝详情API是获取商品信息的“金钥匙”,可实时抓取标题、价格、库存等数据,广泛应用于电商分析、比价网站与智能选品。合法调用,助力精准营销与决策,推动电商高效发展。(238字)
307 0
|
9月前
|
存储 搜索推荐 安全
几个常用的电商API接口及其应用场景
电商平台依赖商品、订单、支付、客户、营销及数据分析六大API,实现商品管理、订单追踪、安全支付、用户个性化服务及精准营销等功能,全面支撑电商高效运营与业务拓展,推动行业智能化发展。
|
10月前
|
数据采集 API 调度
Python爬虫框架对比:Scrapy vs Requests在API调用中的应用
本文对比了 Python 中 Scrapy 与 Requests 两大爬虫框架在 API 调用中的差异,涵盖架构设计、调用模式、性能优化及适用场景,并提供实战建议,助力开发者根据项目需求选择合适工具。