ALTERPROCEDURE dbo.aspnet_UsersInRoles_IsUserInRole @ApplicationNameNVARCHAR(256), @UserNameNVARCHAR(256), @RoleNameNVARCHAR(256) AS BEGIN DECLARE@ApplicationIdUNIQUEIDENTIFIER SELECT@ApplicationId=NULL SELECT@ApplicationId= ApplicationId FROM aspnet_Applications WHERELOWER(@ApplicationName) = LoweredApplicationName IF (@ApplicationIdISNULL) RETURN(2) /**//*返回@ApplicationId,不存在返回2*/ DECLARE@UserIdUNIQUEIDENTIFIER SELECT@UserId=NULL DECLARE@RoleIdUNIQUEIDENTIFIER SELECT@RoleId=NULL SELECT@UserId= UserId FROM dbo.aspnet_Users WHERE LoweredUserName =LOWER(@UserName) AND ApplicationId =@ApplicationId /**//*查询此用户的ID*/ IF (@UserIdISNULL) RETURN(2) SELECT@RoleId= RoleId FROM dbo.aspnet_Roles WHERE LoweredRoleName =LOWER(@RoleName) AND ApplicationId =@ApplicationId /**//*查询此角色的ID*/ IF (@RoleIdISNULL) RETURN(3) IF (EXISTS( SELECT*FROM dbo.aspnet_UsersInRoles WHERE UserId =@UserIdAND RoleId =@RoleId)) /**//*判断此用户是否存在于此角色中*/ RETURN(1) ELSE RETURN(0) END