gpt4 book ai didi

asp.net - 如何在 mysql 数据库中存储文件列表并根据用户角色显示它们

转载 作者:行者123 更新时间:2023-11-29 03:43:29 26 4
gpt4 key购买 nike

我是 asp.net mvc 新手。自经典 asp 以来,我还没有真正做过任何事情。我想根据用户角色显示来自 Mysql 数据库的文件列表。到目前为止,我已经创建了两个表,一些文件可以被多个角色查看。我也在使用 MySql Membership Provider

文件

FileID, FileName, FilePath

文件角色

FileID, RoleID

我想我可以将文件添加到文件表,然后对于有权访问该文件的每个角色,我需要将文件 ID 添加到 FilesRole 表,并从中获取 RoleID my_aspnet_roles 表并将其添加到。

然后不知何故,当有人去查看文件时,它会获取他们所处的每个角色的 ID,然后从数据库中获取文件列表

我不知道从哪里开始,所以非常感谢任何帮助。

最佳答案

让我让您快速了解:

1。创建用户并将其添加到角色

Webdeveloper Express 和 Visual Studio 为您的网站提供了一个 Web 管理工具:

To access the Web Site Administration Tool, on the Website menu, click ASP.Net Configuration.

引用:http://msdn.microsoft.com/en-us/library/yy40ytx0.aspx

您可以从那里添加用户和角色以及将用户添加到角色。

2。创建数据库记录(假设您有某种 mysql 管理面板)

现在在您的数据库中创建一些文件记录,并在文件和角色之间创建一些关联记录。我会使用 RoleName 而不是 RoleID,因为默认的 RoleProvider 接口(interface)使用 string 名称。

3。了解如何从 ASP.NET 查询 mysql 数据库

例如阅读:http://support.discountasp.net/KB/a358/how-to-query-a-mysql-database-in-aspnet.aspx

4。根据用户角色创建正确的查询

string[] userRoles = Roles.GetRolesForUser(HttpContext.Current.User.Identity.Name);

// creates "'role1','role2' from array.
string userRolesForSqlQuery = userRoles.Select(x => "'" + x + "'").Aggregate((a,b) => a + "," + b);


//Psuedo code for querying the database...
var fileForUserQuery = String.Format("SELECT FileID, FileName, FilePath FROM Files
INNER JOIN FilesRole ON Files.FileID = FilesRole.FileID
WHERE FilesRole.RoleName IN ({0});", userRolesForSqlQuery);

希望这能让你到达那里......

关于asp.net - 如何在 mysql 数据库中存储文件列表并根据用户角色显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com