Enterprise Library: Security Quickstart代码解析篇, Part 1
2005-02-26 13:22
525 查看
Enterprise Library: Security Quickstart[/b]代码解析篇[/b][/b]
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, Roles等5个部分。
1. Security Database Management[/b]
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如下所示:
Security Database Management中其它功能,如删除用户、用户角色管理(增加用户角色和删除用户角色)等代码类似。
***
作者:Rickie Lee (rickieleemail#yahoo.com)
本文参考分析Enterprise Library Security Application Block Quickstart应用程序。
References:
1. Microsoft Enterprise Library: Enterprise Library Security Application Block Quickstart.
2. Rickie, Microsoft patterns & practices Enterprise Library January 2005 [中文稿], /article/4622953.html
3. Rickie, Enterprise Library released! /article/4622952.html
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, Roles等5个部分。
1. Security Database Management[/b]
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如下所示:
Security Database Management中其它功能,如删除用户、用户角色管理(增加用户角色和删除用户角色)等代码类似。
***
作者:Rickie Lee (rickieleemail#yahoo.com)
本文参考分析Enterprise Library Security Application Block Quickstart应用程序。
References:
1. Microsoft Enterprise Library: Enterprise Library Security Application Block Quickstart.
2. Rickie, Microsoft patterns & practices Enterprise Library January 2005 [中文稿], /article/4622953.html
3. Rickie, Enterprise Library released! /article/4622952.html
相关文章推荐
- Enterprise Library: Security Quickstart代码解析篇, Part 2
- Acegi-security-samples-tutorial-1.0.7.zip 实例代码解析
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(十)——在代码中实现数据验证
- "startActivityForResult"-通俗易懂图文+代码全解析
- Quick-Cocos2d-x初学者游戏教程(三) ---------------------------- 解析quick新建项目的代码文件
- Spring MVC 4 Quickstart Maven Archetype(代码在我上传的资源有)
- ReactiveSwift源码解析(九) SignalProducerProtocol延展中的Start、Lift系列方法的代码实现
- repoze.what.plugins.quickstart调用流程解析
- springside quickstart代码分析01。
- Linux Kernel SMP (Symmetric Multi-Processors) 開機流程解析 Part(2) Linux Kernel SMP zImage到start_kernel流程
- 一段QuickHit代码加解析
- Refactor CAB Smart Part Quick Start Project to "Presentation Model"
- spring-quick-start例子解析
- 【奔跑的FPGA】part nine IIC协议代码解析
- java_security之base64原理解析以及三种代码的实现方式
- 一段QuickHit代码加解析
- ReactiveSwift源码解析(九) SignalProducerProtocol延展中的Start、Lift系列方法的代码实现
- Welcome to the ASP.NET 2.0 QuickStart Tutorial
- HTTP请求代码错误400、401、402、403、404、405、406、407、412、414、500、501、502解析
- apollo代码学习2.3——深度解析(control)