通过存储过程进行Windows身份验证和角色身份验证 - mvc asp.net

时间:2017-10-23 20:25:08

标签: c# asp.net model-view-controller

我是使用ASP.NET MVC 5的新手,我试图通过存储过程验证用户角色。任何人都可以提供有关如何设计这种架构的资源或建议吗?

1 个答案:

答案 0 :(得分:0)

如果您已在Visual Studio中正确完成了某些操作,则会在(很可能)您的 localDB 上为您创建数据库架构。您必须识别该数据库服务器和实例,并且应该看到用户和角色的相应表结构。一旦确定了数据库实例并确认已创建表并且它们的名称匹配,就可以创建以下存储过程(表名可能不同)。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE getRolesForUser
    @UserName nvarchar(50)
AS
BEGIN

    SET NOCOUNT ON;

        SELECT        AspNetRoles.Name
        FROM            AspNetRoles 
        INNER JOIN
                        AspNetUserRoles ON AspNetRoles.Id = AspNetUserRoles.RoleId 
        INNER JOIN
                        AspNetUsers ON AspNetUserRoles.UserId = AspNetUsers.Id
        WHERE AspNetUsers.UserName = @UserName 
END
GO