ASP.NET 中的 SQL Server 应用服务数据库角色和视图
2006-12-25 21:46
477 查看
在 ASP.NET 应用服务的 SQL Server 提供者数据库中包括有许多的数据库对象(例如,存储过程和数据表)以支持 ASP.NET 的成员资格、角色管理、档案、Web Parts 个性化、以及 Web 事件等特征。该数据库中包括的角色和视图只用于对支持指定特征的必需对象进行访问。这能够让你授予 SQL Server 数据库连接以最小的必需权限,从而改进应用程序的安全。
被提供的数据库角色有三个类型。
完全访问
提供对特征所支持的所有数据库对象的访问,并且不需要管理员访问。
基本访问
为用户使用特征时提供最小权限的访问。
报告式访问
特征的搜索和能力查看访问。
每个应用程序特征都为属于自己的角色集提供相应的支持。例如,数据库中包括的角色有 aspnet_MembershipFullAccess ,aspnet_RolesFullAccess 等等。
用于成员资格的角色
下表列出了支持 ASP.NET 成员资格的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
用于角色管理的角色
下表列出了支持 ASP.NET 角色管理的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
用于档案的角色
下表列出了支持 ASP.NET 档案的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
用于 Web Parts 个性化的角色
下表列出了支持 ASP.NET Web Parts 个性化的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
用于 Web 事件的角色
下表列出了支持 ASP.NET Web 事件的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
下表列出了 SQL Server 提供者数据库中的有效数据库视图以及被每一个视图所返回的信息。部分视图还会显示机密信息,如成员资格用户的密码问题和答案,所以你应该注意不要向任何未知的来源暴露这些机密信息。
数据库角色
数据库包括的角色只准许对支持 SQL Server 提供者特征的数据库对象进行访问。要改进应用程序的安全,你可以创建数据库帐号并且以必需角色或角色组的成员来进行添加。被提供的数据库角色有三个类型。
完全访问
提供对特征所支持的所有数据库对象的访问,并且不需要管理员访问。
基本访问
为用户使用特征时提供最小权限的访问。
报告式访问
特征的搜索和能力查看访问。
每个应用程序特征都为属于自己的角色集提供相应的支持。例如,数据库中包括的角色有 aspnet_MembershipFullAccess ,aspnet_RolesFullAccess 等等。
用于成员资格的角色
下表列出了支持 ASP.NET 成员资格的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
角色 | 方法许可 | 查看许可 |
---|---|---|
aspnet_Membership_FullAccess | 所有成员方法 | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_MembershipUsers |
aspnet_Membership_BasicAccess | ValidateUser UpdateUser GetNumberOfUsersOnline GetPassword GetUser GetUserNameByEmail | (无) |
aspnet_Membership_ReportingAccess | FindUsersByEmail FindUsersByName GetAllUsers GetNumberOfUsersOnline GetUser GetUserNameByEmail | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_MembershipUsers |
下表列出了支持 ASP.NET 角色管理的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
角色 | 方法许可 | 查看许可 |
---|---|---|
aspnet_Roles_FullAccess | 所有角色管理者的方法 | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_Roles vw_aspnet_UsersInRoles |
aspnet_Roles_BasicAccess | GetRolesForUser IsUserInRole | (无) |
aspnet_Roles_ReportingAccess | FindUsersInRole GetAllRoles GetRolesForUser GetUsersInRole IsUserInRole RoleExists | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_Roles vw_aspnet_UsersInRoles |
下表列出了支持 ASP.NET 档案的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
角色 | 方法许可 | 查看许可 |
---|---|---|
aspnet_Profile_FullAccess | 所有档案方法 | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_Profiles |
aspnet_Profile_BasicAccess | GetPropertyValues SetPropertyValues | (无) |
aspnet_Profile_ReportingAccess | GetAllProfiles GetAllInactiveProfiles GetNumberOfInactiveProfiles FindProfilesByUserName FindInactiveProfilesByUserName | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_Profiles |
下表列出了支持 ASP.NET Web Parts 个性化的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
角色 | 方法许可 | 查看许可 |
---|---|---|
aspnet_Personalization_FullAccess | SQL 提供者的所有功能。 | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_WebPartState_User vw_aspnet_WebPartState_Shared vw_aspnet_WebPartState_Paths |
aspnet_Personalization_BasicAccess | LoadPersonalizationBlobs LoadPersonalizationState ResetPersonalizationState ResetPersonalizationBlob SavePersonalizationBlob SavePersonalizationState | (无) |
aspnet_Personalization_ReportingAccess | FindState GetCountOfState | vw_aspnet_Applications vw_aspnet_Users vw_aspnet_WebPartState_Paths vw_aspnet_WebPartState_Shared vw_aspnet_WebPartState_User |
下表列出了支持 ASP.NET Web 事件的数据库角色,角色支持这些方法,并且数据库会对角色是否允许使用这些方法而进行检查。
角色 | 方法许可 |
---|---|
aspnet_WebEvent_FullAccess | Web 事件特征的完全访问。 |
数据库视图
SQL Server 提供者的数据库包括一个预定义视图,允许你在通过使用指定特征对数据进行访问的时候不需要直接访问数据库中的表。并且该视图是只读的。你不能够尝试使用该视图对数据库中的数据进行更新。所有的更新操作都应该使用与每一个特征相对应的 .NET Framework 类来完成。下表列出了 SQL Server 提供者数据库中的有效数据库视图以及被每一个视图所返回的信息。部分视图还会显示机密信息,如成员资格用户的密码问题和答案,所以你应该注意不要向任何未知的来源暴露这些机密信息。
视图 | 描述 |
---|---|
vw_aspnet_Applications | 为所有应用程序显示下列信息: 应用程序名称 应用程序描述 唯一的应用程序标识符 |
vw_aspnet_Users | 显示每个应用程序的用户列表,包括下列信息: 用户名称 用户的唯一标识符 用户最后一次活动的日期和时间。 用户的移动设备别名(如果适用)。 用户是否为匿名用户。 相关应用程序的唯一标识符。 提示:用户列表反射了所有已安装 ASP.NET 应用程序特征中的用户列表,但并不反射与指定特征相关的用户列表。 |
vw_aspnet_MembershipUsers | 显示与当前用户的唯一标识符相关的 ASP.NET 成员资格用户列表,包括下列信息: 用户名称 电子邮件地址 密码问题和答案 成员资格认证 密码格式标识符 用户的移动设备 PIN 和移动设备别名(如果适用)。 创建日期和时间 最后一次登入的日期和时间 最后一次更改密码的日期和时间 最后一次活动的日期和时间 用户最后一次被锁定的日期和时间 当前的锁定状态 失败的密码尝试计数,以及密码重试窗口第一次被显示的日期和时间 失败的密码答案尝试计数,以及密码答案重试窗口第一次被显示的日期和时间 备注 |
vw_aspnet_Roles | 显示下列角色信息: 每个应用程序唯一的角色列表 角色名称 唯一的角色标识符 角色描述 与角色相关联的应用程序唯一标识符 |
vw_aspnet_UsersInRoles | 通过唯一的用户标识符和角色标识符来显示与角色相关联的用户。 |
vw_aspnet_Profiles | 显示下列用户档案信息: 用户的档案,保存在用户的唯一标识符下 档案最后被更新的日期和时间 档案数据的大小 |
vw_aspnet_WebPartState_Path | 显示下列 Web Parts 状态路径信息: 每个路径的唯一 ID 与每个路径相关联的应用程序 路径 |
vw_aspnet_WebPartState_Shared | 显示下列 Web Parts 状态信息: 唯一的路径 ID 数据的大小 最后一次更新共享数据(与路径相关联)的日期 |
vw_aspnet_WebPartState_User | 显示下列 Web Parts 用户信息: 用户的个性化数据片段,保存在用户唯一标识符下 数据的路径 ID 用户专用数据的大小 最后一次更新用户专用数据的日期 |
相关文章推荐
- 为 SQL Server 创建并配置 ASP.NET 应用服务数据库概览
- 为 SQL Server 创建 ASP.NET 应用服务数据库
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
- ASP.NET 5 MVC6系列教程 (四):向视图中添加服务和发布应用到公有云
- [ASP.NET 2.0 Security FAQs]如何设置SQL Server或SQL Express数据库,使其支持Membership、Profiles和Role
- asp.net连接数据库sql server
- [ASP.NET-V] SQL Server 2008数据库的备份与还原
- 将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005
- asp.net 连接sql server 2005 数据库的设置
- ASP.NET-ASP.NET配置(web.config)无法连接到SQL Server 数据库的解决方法
- win7 ASP.NET 安全选项卡无法打开(无法连接到 SQL Server 数据库)的解决办法
- 使用asp.net 2.0和SQL SERVER 2005构建多层应用
- 如何应用ASP.NET MVC中的分部视图
- 《ASP.NET 2.0应用开发技术》技术支持和服务站点上线
- 将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005
- asp.net操作SQL SERVER 数据库时用存储过程吗???