gpt4 book ai didi

c# - 如果身份角色不是管理员,则从 Web Api 重定向到 MVC Controller

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:37 26 4
gpt4 key购买 nike

当用户不是 Admin 时,如何从 Web API Controller 重定向到 MVC 主 Controller 。

// GET api/adminleave
public IEnumerable<ObjectModel> GetPendingLeave()
{
if (!User.IsInRole("Admin"))
{
var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri("example.com");
return response;
}
List<ObjectModel> obj=new List<ObjectModel>();
return obj;

}

我按照上面的方法尝试了,但出现了错误。

Error 27 Cannot implicitly convert type 'System.Net.Http.HttpResponseMessage' to 'System.Collections.Generic.IEnumerable'. An explicit conversion exists (are you missing a cast?) F:\WebPortal\WebApplication1\Controllers\Leave\AdminLeaveController.cs 34 24 WebApplication

当我从 webAPI Controller 返回对象列表时,如何从 hom webapi Controller 重定向

最佳答案

您尝试做的事情在 MVC/WebAPI 关系方面没有任何意义。在 MVC 中,整个网站由您的服务器提供服务,使用 WebAPI,您依赖于客户端-API 关系,您在其中创建一个 API,您允许的任何人都可以使用它。

您不能在重定向方面混合使用这些方法。您可以做的是通知您的客户,在这种特定情况下需要重定向(但这仍然不是理想的解决方案)并在客户端执行重定向。

想一想 - 如果您创建了一个可供“每个人”使用的 API,执行此类重定向似乎是正确的做法吗?另一种选择是在您的 MVC Controller 中调用操作并获取结果,但我假设您希望在用户具有“管理员”角色时转到另一个页面。

关于c# - 如果身份角色不是管理员,则从 Web Api 重定向到 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37784840/

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