我是编程新手,如果我把这个解释错了,请容忍我。
我有一个asp.net核心web应用程序,它使用实体框架,允许用户访问sql数据库并执行crud操作。其中一个表是“users”,该表中的一个字段是“permissions”。另一个字段是用户的windows用户名。最终我想有一个不同的布局文件用于不同的权限级别。我知道有更好的方法可以做到这一点(身份验证/授权),但现在我只是尝试为不同的用户有不同的布局。
我在\u viewstart文件中尝试了以下代码,但出现错误“当前上下文中不存在数据库”。有没有办法从viewstart文件中的sql表中提取值?
或者,有没有一个不太复杂的更好的方法呢?
我还使用windows标识获取当前用户,并将其与数据库中的表进行比较。
var db = Database.Open("My Connection String");
var selectQueryString = "Select Permissions FROM Users WHERE UserName = User.Identity.Name";
int currentuser = db.Query(selectQueryString);
if (currentuser == 1) Layout = "_Layout";
else Layout = "_Layout2";
1条答案
按热度按时间arknldoa1#
为不同的用户提供不同的布局”
更新
在razor页面项目中,要根据用户信息动态更改布局,可以通过创建
BindProperty
键入字段并动态绑定页面中的布局。索引.cshtml.cs:
索引.cshtml: