session - 根据 ASP .NET MVC 5 中的用户角色显示按钮
问题描述
我必须根据角色在视图中显示按钮,假设我有管理员用户和默认用户等角色,其中管理员用户将能够看到删除、修改和添加按钮,但默认用户只能搜索。目前,当用户登录时,我正在捕获用户 ID 并将用户 ID 发送到数据库以获取用户的角色,并将这些角色存储在会话中。在使用以下代码检索角色值的视图中
@if (Session["UserRole"].ToString() == "Admin")
{
//show delete,modify and create buttons
}
但在我的生产中,代码将托管在多个服务器上,并且请求可以发送到任何服务器。
我的问题是将角色存储在会话中是一个好习惯,有没有更好的方法来解决我的要求。如果我在有多个服务器的生产环境中使用会话,会话方法是否有效?
解决方案
使用此解决方案可能会遇到一些性能问题,因此我建议在操作方法中获取角色并将其存储在 ViewData 中。
但我认为最好的解决方案是用这个创建一个局部视图,并在方法中创建一个授权标签。
推荐阅读
- php - 使用 Apache 和 Kohana 创建 PHP 服务器
- sas - 使用数据步骤中的 put 语句写入 SAS EG 中的默认 HTML 输出
- reactjs - 将选定的值保留在 React 的一组单选按钮中
- html - 由于全宽行,引导 4 网格空白
- javascript - Sequelize 模型关联不会创建新列
- csv - Wix:在 UI 序列中读取文本文件
- php - php @chdir 文件未找到
- django - 如何在石墨烯解析器中调用 django 模型函数?
- pandas - 如何在熊猫中使用 crosstab .plot() 绘制图表中的轴顺序?
- flutter - Flutter YouTube 视频嵌入