ASPNETDB 存储过程(3) 角色管理部分(转载)

  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。
posted on 2006-10-22 21:08  头发乱了  阅读(348)  评论(0编辑  收藏  举报