- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 asp.net mvc 新手。自经典 asp 以来,我还没有真正做过任何事情。我想根据用户角色显示来自 Mysql 数据库的文件列表。到目前为止,我已经创建了两个表,一些文件可以被多个角色查看。我也在使用 MySql Membership Provider
表文件
FileID, FileName, FilePath
表文件角色
FileID, RoleID
我想我可以将文件添加到文件表,然后对于有权访问该文件的每个角色,我需要将文件 ID 添加到 FilesRole 表,并从中获取 RoleID
my_aspnet_roles
表并将其添加到。
然后不知何故,当有人去查看文件时,它会获取他们所处的每个角色的 ID,然后从数据库中获取文件列表
我不知道从哪里开始,所以非常感谢任何帮助。
最佳答案
让我让您快速了解:
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
您可以从那里添加用户和角色以及将用户添加到角色。
现在在您的数据库中创建一些文件记录,并在文件和角色之间创建一些关联记录。我会使用 RoleName
而不是 RoleID
,因为默认的 RoleProvider 接口(interface)使用 string
名称。
例如阅读:http://support.discountasp.net/KB/a358/how-to-query-a-mysql-database-in-aspnet.aspx
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/
我是一名优秀的程序员,十分优秀!