windman

13.Net
posts - 3, comments - 43, trackbacks - 1, articles - 12
  1. 创建角色。

    CREATE PROCEDURE aspnet_Roles_CreateRole
    (
     @ApplicationName nvarchar(256),
     @RoleName nvarchar(256)
    )

    该过程首先调用 aspnet_Applications_CreateApplication  注册应用程序;
    然后将角色数据添加到角色表(aspnet_Roles) 中。

    返回值:成功返回 0;
    角色已存在,返回 1。
    发生错误,返回 -1。
  2. 删除指定角色。

    CREATE PROCEDURE aspnet_Roles_DeleteRole
    (
     @ApplicationName nvarchar(256),
     @RoleName nvarchar(256),
     @DeleteOnlyIfRoleIsEmpty bit
    )

    输入参数@DeleteOnlyIfRoleIsEmpty指示是否只有当角色在未和任何用户关联
    的情况下(即在aspnet_UsersInRoles表中已经不存在该角色了),才允许
    在角色表(aspnet_Roles) 中删除角色。

    返回值:成功返回0;
    应用程序未被注册,返回 1;
    角色不存在,返回 1;
    aspnet_UsersInRoles 表中存在引用角色的数据,返回 2;
  3. 查询(所有)角色,返回角色名数据集。

    CREATE PROCEDURE
    aspnet_Roles_GetAllRoles
    (
     @ApplicationName nvarchar(256)
    )
  4. 检查角色是否存在。

    CREATE PROCEDURE aspnet_Roles_RoleExists
    (
     @ApplicationName nvarchar(256),
     @RoleName nvarchar(256)
    )

    返回值:角色存在,返回 1;
    角色不存在,返回 0。
  5. 向aspnet_UsersInRoles表批量添加数据。

    CREATE PROCEDURE aspnet_UsersInRoles_AddUsersToRoles
    (
     @ApplicationName nvarchar(256),
     @UserNames nvarchar(4000),
     @RoleNames nvarchar(4000),
     @CurrentTimeUtc datetime
    )

    该过程将一批用户批量关联到一批指定的角色。
    如果用户不存在,则先向用户表(aspnet_Users)中添加用户。

    输入参数 @UserNames以','间隔各用户名。
    输入参数 @RoleNames以','间隔各角色名。

    返回值:成功返回0;
    应用程序未被注册,返回 2;
    如果@RoleNames中的某一个角色在角色表中不存在,返回 2;
    如果@UserNames和@RoleNames中的任一个用户角色组合
    在 aspnet_UsersInRoles 表中已经存在,返回3。
  6. 从aspnet_UsersInRoles表批量删除数据。

    CREATE PROCEDURE aspnet_UsersInRoles_RemoveUsersFromRoles
    (
     @ApplicationName nvarchar(256),
     @UserNames nvarchar(4000),
     @RoleNames nvarchar(4000)
    )

    输入参数 @UserNames以','间隔各用户名。
    输入参数 @RoleNames以','间隔各角色名。

    返回值:成功返回0;
    应用程序未被注册,返回 2;
    如果@UserNames中的某一个用户在用户表中不存在,返回 1;
    如果@RoleNames中的某一个角色在角色表中不存在,返回 2;
    如果@UserNames和@RoleNames中的任一个用户角色组合
    在aspnet_UsersInRoles 中不存在,返回 3。
  7. (LIKE)查询指定角色并且用户名与@UserNameToMatch匹配的用户,返回用户名数据集。

    CREATE PROCEDURE aspnet_UsersInRoles_FindUsersInRole
    (
     @ApplicationName nvarchar(256),
     @RoleName nvarchar(256),
     @UserNameToMatch nvarchar(256)
    )

    返回值:成功返回0;
    应用程序未被注册,返回 1;
    角色不存在,返回 1。
  8. 查询指定角色的用户,返回用户名数据集。

    CREATE PROCEDURE aspnet_UsersInRoles_GetUsersInRoles
    (
     @ApplicationName nvarchar(256),
     @RoleName nvarchar(256)
    )

    返回值:成功返回0;
    应用程序未被注册,返回 1;
    角色不存在,返回 1。
  9. 查询指定用户的角色,返回角色名数据集。

    CREATE PROCEDURE aspnet_UsersInRoles_GetRolesForUser
    (
     @ApplicationName nvarchar(256),
     @UserName nvarchar(256)
    )

    返回值:成功返回0;
    应用程序未被注册,返回 1;
    用户不存在,返回 1;
  10. 检查aspnet_UsersInRoles表中相关记录是否存在。

    CREATE PROCEDURE aspnet_UsersInRoles_IsUserInRole
    (
     @ApplicationName nvarchar(256),
     @UserName nvarchar(256),
     @RoleName nvarchar(256)
    )

    返回值:应用程序未被注册,返回 1;
    用户不存在,返回 2;
    角色不存在,返回 2;
    如果aspnet_UsersInRoles表中@UserName、@UserName组合存在,返回 1;
    如果不存在,返回 0。
ASPNETDB 数据库关系图、表和视图(1) 基本表和独立表
ASPNETDB 表和视图(2) 用户成员资格和角色管理 表
ASPNETDB 表和视图(3) 个性化用户配置、页面个性化设置 表 和视图

ASPNETDB 存储过程(1) 基本及杂类 
ASPNETDB 存储过程(2) 成员资格管理部分 
存储过程(3) 角色管理部分
ASPNETDB 存储过程(4) 个性化用户配置部分

Feedback

#1楼  回复 引用   

2006-09-08 15:50 by 阿福[匿名][未注册用户]
呵呵,先占沙发再说~~~
然后再看看..

#2楼  回复 引用 查看   

2006-11-29 08:17 by yunhuasheng      
沙发

#3楼  回复 引用 查看   

2006-11-30 16:32 by 蛙蛙池塘      
看过,挺详细的,不过这些都是你自己研究出来的,还是MSDN里有讲呀

#4楼[楼主]  回复 引用 查看   

2006-12-01 11:19 by 风之语      
当时MSDN里是没有讲的,现在有没有就不清楚了。
是我看代码分析出来的。

#5楼  回复 引用   

2007-08-07 17:16 by micfat[未注册用户]
請問何解不能讀取傳回的訊息???

Dim cnConn As New Data.SqlClient.SqlConnection(clsCommon.DBLoginConnStr)
cnConn.Open()
Dim Message As String = ""
Dim RoleExists_Procedure As New Data.SqlClient.SqlCommand("aspnet_Roles_RoleExists", cnConn)
RoleExists_Procedure.CommandType = Data.CommandType.StoredProcedure
RoleExists_Procedure.Parameters.Add(New Data.SqlClient.SqlParameter("@ApplicationName", Data.SqlDbType.NVarChar, 256))
RoleExists_Procedure.Parameters.Add(New Data.SqlClient.SqlParameter("@RoleName", Data.SqlDbType.NVarChar, 256))
RoleExists_Procedure.Parameters("@ApplicationName").Value = "/"
RoleExists_Procedure.Parameters("@RoleName").Value = "Role"
Dim a As Integer = RoleExists_Procedure.ExecuteNonQuery
Select Case a
Case 0
Message = "群組不存在!"
Case 1
Message = "群組已存在!"
End Select
MsgBox(Message)