gpt4 book ai didi

每个 team_id 的 ASP.NET MVC 授权和角色

转载 作者:行者123 更新时间:2023-12-02 13:33:30 25 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC 启动一个项目,但我不知道基于 team_id 处理授权和角色的最佳方法是什么。我读到的每篇博客文章或论坛帖子总是谈论使用 asp.net 成员身份定义全局角色(“管理员”、“帮助台”、“编辑器”等...)或创建 CustomAuthorize 过滤器。我的应用程序中的问题是没有全局角色。用户将成为 team1 的经理,但无法编辑或查看 team2 的详细信息。所以授权详细信息是:- 用户可以查看他的团队计划和队友的可用性,但无法看到其他团队- 团队经理可以编辑团队详细信息,但不能编辑其他团队的详细信息- 一个团队可以有 1 名或多名经理- 一个用户可以是 1 个或多个团队的成员

ATM,我有 3 个表来处理这种关系。

teams --> teams_users <-- users
team_id #team_id user_id
#user_id
isManager?
作为最后的手段,我计划在用户登录时将用户当前的 team_id 和 isManager 状态存储在 session 变量中,并创建一个 CustomAuthorize 过滤器来检查 session team_id 是否与 model.team_id 相同。让我知道是否还有其他方法可以做到这一点。谢谢

最佳答案

最后,我创建了一条自定义路线:

/{team_id}/controller/action/{id}

{team_id} 在用户登录后设置,然后自定义过滤器会验证用户是否属于每个 Controller 顶部的团队。每当他更换团队时,{team_id} 就会更新。此外,还有一个“isManager”过滤器来保护特定的经理操作,该操作将检查用户是否是当前团队的经理。谢谢各位的解答

关于每个 team_id 的 ASP.NET MVC 授权和角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/807699/

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