我的Controller类使用AuthorizeAttribute进行修饰以保护操作:
[Authorize(Roles = "User Level 2")]
public class BuyController : Controller
{
...
}
Run Code Online (Sandbox Code Playgroud)
无论何时调用某个操作但用户至少不是"用户级别2"角色,他会自动重定向到登录页面,其中包含以下URL:
HTTP://本地主机:1436 /帐号/登录RETURNURL =%2fBuy
如果用户已登录但没有正确的安全级别,则这不是最佳行为!显示一个页面会更有意义,该页面通知用户缺少的级别而不是显示登录页面.
我该怎么做才能自定义此行为?是否有可能以某种方式将所需的用户级别传递给Login操作?
我有一个动作,我想只限制角色"Admin".我是这样做的:
[Authorize(Roles = "Admin")]
public ActionResult Edit(int id)
Run Code Online (Sandbox Code Playgroud)
手动进入Controller/Edit/1路径后,我被重定向到登录页面.嗯,这也许不错,但我想显示404而不是它,并尝试坚持使用属性.那可能吗?