我有一个简单的API,截至目前仅支持一个角色。
我想添加一个管理员角色和一个普通用户。我正在使用JWT进行身份验证,并且在我的声明中有一个roleName。
现在,我希望为我的某些端点设置一条路由,但根据用户登录的角色,选择并执行与admin或user相对应的控制器。
简单示例
作为普通用户: / V1 /成员
返回 { “memberId”:int, “名字:字符串, “地址”:字符串 }
如果管理员用户登录,我想拥有相同的url / v1 / member,但是有另一个返回
例如
{ “memberId”:int, “名字:字符串, “地址”:字符串, “socialSecurityNumber”:字符串, “privatInfo”:字符串, “notforuser”:字符串 }
我知道我可以在一个控制器中执行此操作并切换角色,但这会使我的代码非常混乱,我认为不是这样做的。
来自Jens的最好的问候
答案 0 :(得分:1)
我要回答我自己的问题。
经过几个小时的研究,我终于找到了一个解决方案,我认为这个解决方案很有效。 这样我就定义了一个在MVC操作之前运行的中间件,而不是挂钩。它重写控制器的本地URL,然后它命中正确的控制器,它被分成不同的区域。它很棒。
祝你好运 Jens: - )