角色是理解在涉及使用用户账户的系统上何时做任何工作的关键概念在任何组织中用户账户可能被分配给与用户账户类型相关的角色例如如果查看在您的PC上建立的本地用户账户您将发现不同类型组的列表例如用户高级用户和管理员在一个简单的基于Windows域的网络中可以发现所有公司用户都是Domain User角色的成员网络中的某些用户账户可能是不同组的成员例如您的系统管理员可能是DomainAdministrators组的成员这就允许他们管理公司域中的用户图显示了相当基础的Windows XP安装中的可用组每个用户账户可以是零个或多个组的成员
因为每个用户账户在需要时可以是多个组的成员
注意这儿显示的用户是Power Users和Remote Desktop Users组的成员这意味着用户(称为Chris)可以通过Remote Desktop会话登录(如果允许远程连接)并且可以执行计算机上必需的大多数日常管理任务以及一些约束
将用户组合为相关角色的能力简化了管理的过程如果管理员希望将特定的权限授予所工作公司中开发团队的所有成员他可以将这些权限单独授予个用户账户的每一个或者他可以将所有这些账户添加到Developers角色并且将一个权限授予该角色这是可以起作用的简单的逻辑的方法并且在开发应用程序时将几乎总是不得不考虑用户是哪个角色的成员
将会经常遇到的一个最为重要的角色是Administrator角色Administrator几乎可以对应用程序或系统做任何事情出于这个原因您会对具有如下能力而感到高兴作为Adm inistrator登录以修正只可以使用特定权限集修正的问题然而需要深入了解开发应用程序时的相关权限因为从安全性的观点来看这些权限具有潜在的危险使用完整的特权运行代码可以将系统修改到完全销毁该系统的位置不希望最终删除Windows目录的整个内容或者无意中格式化硬盘
采用的最佳实践是最低特权的实践以一个低特权的用户账户开始并且只添加应用程序必需的权限ASPNET中的默认设置表示运行ASPNET Web应用程序的代码将默认具有有限的特权集并且IIS(和Windows Server 一起提供的Web服务器)在第一次安装时被紧密锁定从而不得不在安装它时实际地启用ASPNET以运行ASPNET Web应用程序这并不意味着您可以休息一下并且在全部时间内都作为管理员保持运行尝试作为某个用户登录该用户只是Power Users组的一个成员或者仍是Users组的成员更好并且按常规方式测试代码绝对不要假设应用程序正在工作而没有作为完全不同的用户测试它
ASPNET 入门教程完整版