在 ASP.NET 应用服务的 SQL Server 提供者数据库中包括有许多的数据库对象(例如,存储过程和数据表)以支持 ASP.NET 的成员资格、角色管理、档案、Web Parts 个性化、以及 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 成员资格用户列表,包括下列信息:
|
vw_aspnet_Roles |
显示下列角色信息:
|
vw_aspnet_UsersInRoles |
通过唯一的用户标识符和角色标识符来显示与角色相关联的用户。 |
vw_aspnet_Profiles |
显示下列用户档案信息:
|
vw_aspnet_WebPartState_Path |
显示下列 Web Parts 状态路径信息:
|
vw_aspnet_WebPartState_Shared |
显示下列 Web Parts 状态信息:
|
vw_aspnet_WebPartState_User |
显示下列 Web Parts 用户信息:
|