Enterprise Library: Security Quickstart代码解析篇, Part 1

本文对Enterprise Library Security Quickstart代码进行解析。该Quickstart基于多个应用块构建,用户等信息存于数据库。其应用程序运行界面含5部分,重点解析了Security Database Management中增加用户等功能的代码,相关类方法多调用UserRoleManager类实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Enterprise Library: Security Quickstart代码解析篇<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Part 1

Written by: Rickie Lee (rickieleemail#yahoo.com)

My blog: www.cnblogs.com/rickie

Enterprise Library Security Quickstart基于Security Application Block, Database Application Block, Caching Application Block, Configuration Application Block, Cryptography Application Block等构建,是所有Quickstart中较复杂的一个。其中,用户、角色、用户角色关系、Profile等等均存放在数据库中。

 

Security Application Block Quick Start应用程序运行界面包括Security Database Management, Authentication, Authorization, Profile, Roles5个部分。

1. Security Database Management

Security Database Management部分包括用户管理、用户角色关系管理等功能。

如下是增加用户部分代码:

       this.databaseManager.InsertUser(this.credentialsForm.Username, this.credentialsForm.Password);

       this.DisplayDatabaseResults(SR.UserCreatedMessage(this.credentialsForm.Username));

SecurityDatabaseManager.InsertUser()调用Microsoft.Practices.EnterpriseLibrary.Security.Database.UserRoleManage类的InsertUser方法,将用户信息Username/Password插入数据表,方法如下:

              public void InsertUser(string userName, string password)

              {

                     byte[] pwdBytes = SHA1Managed.Create().ComputeHash(ASCIIEncoding.ASCII.GetBytes(password));

                     if (!this.manager.UserExists(userName))

                     {

                            this.manager.CreateUser(userName, pwdBytes);

                     }

              }

如下是Quickstart应用程序中的SecurityDatabaseManager类,该类包含类型UserRoleManager的成员变量manage

this.manager = new UserRoleManager(DbInstanceName, ConfigurationManager.GetCurrentContext());

SecurityDatabaseManager类提供的方法几乎都是调用Microsoft.Practices.EnterpriseLibrary.Security.Database.UserRoleManager类的方法来实现的,上述2个类的Class Diagram如下所示:

Enterprise_SecurityAB_SecurityDatabaseManager.JPG

 

Security Database Management中其它功能,如删除用户、用户角色管理(增加用户角色和删除用户角色)等代码类似。

***

作者:Rickie Lee (rickieleemail#yahoo.com)

本文参考分析Enterprise Library Security Application Block Quickstart应用程序。

 

References:

1. Microsoft Enterprise Library: <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Enterprise Library Security Application Block Quickstart.

2. Rickie, Microsoft patterns & practices Enterprise Library January 2005 [中文稿], http://www.cnblogs.com/rickie/archive/2005/01/30/99443.html

3. Rickie, Enterprise Library released! http://www.cnblogs.com/rickie/archive/2005/01/29/99106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值