固定字符串方法-控制器
本文关键字:控制器 方法 字符串 | 更新日期: 2023-09-27 18:03:56
如果用户不是admin并且试图访问某些控制器,则返回"~/Error/Unauthorized"页面。下面是我返回错误页面的方法:
if (!Models.Authorization.AdminPageCheck(this.User))
return new RedirectResult("~/Error/Unauthorized");
我能够为ActionResult方法做,但不是为字符串方法,因为它不返回视图。如何保护字符串方法?
最好使用ASP。. NET MVC的内置功能,只需用
注释你的控制器(无论是在类级别,对于所有的动作,还是在动作方法级别)[Authorize]
如果有人试图调用未登录的方法,他们将被迫使用web.config中配置的方法进行身份验证。
或者,如果使用
[Authorize(Roles = "AdminRole")]
他们将被强制进行身份验证,如果他们还没有,那么他们将根据他们拥有的相关角色被授予或拒绝访问。
这是一个非常普遍的要求,谢天谢地,ASP。. NET MVC团队已经非常全面地处理过了!
您应该更改这些方法以返回ActionResult
s。
然后可以return Content(someText, "content/type")
如果你有时有不同的结果,而不仅仅是一个字符串,那么首选的"修复"将是:不返回string
;返回ActionResult
,当为字符串时,
return Content(yourString);
可选指定内容类型/编码
正如SLaks提到的,您可以将字符串方法的返回类型更改为ActionResult,然后使用ContentResult类返回字符串