在 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
|
用于 Web Parts 个性化的角色
下表列出了支持 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
|
用于 Web 事件的角色
下表列出了支持 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
用户专用数据的大小
最后一次更新用户专用数据的日期
|
|
请发表评论