通知用户ASP.NET MVC 4 simplemembership simplerole角色不足

时间:2014-05-31 23:57:56

标签: c# asp.net-mvc simplemembership

我使用ASP.NET MVC4 SimpleMembership和SimpleRoleProvider在暴露某些方法之前确定授权。

例如:

[Authorize(Roles = "Admin,Corporate")]
public ActionResult Edit(int id = 0)
{
     //some code
     return View(model)
}

如果用户未处于“管理员”或“公司”角色(或其会话已过期),则会将其正确发送到/帐户/登录页面。

然而,一位测试人员提出了一个很好的观点,即在此登录页面上,没有提示用户为何被发送到此处。如果他们根本无权访问他们试图访问的页面,他们会一次又一次地登录并认为该站点已损坏。

通常,我会向模型添加一个属性,或者在URL中传递一个可选参数,并带有一条消息,例如,

You do not have adequate permissions to access that page.  
Please log in as an administrator.

或其他相似之处。但是,因为过滤器在进入方法之前发生了,我将在何处/如何添加消息?

0 个答案:

没有答案