在我的web应用程序中,我希望在控制器中的某些操作方法中添加授权,而不是在整个控制器上。我添加了以下内容
[Authorize]
public ActionResult ManageResturant(long Id = 0)
{
}在web.config中,我添加了
<authentication mode="Forms" >
<forms loginUrl="~/Auth/LogIn"/>
</authentication>但是,当我转到页面正常加载的操作方法时,我希望页面重定向到登录页面
有什么建议吗?
发布于 2012-06-13 20:22:54
感谢John的评论,在您的提示下,我真的找到了解决方案问题出在我的代码中
我使用一个会话来存储登录的用户,并使用FormsAuthentication来确保所有用户都是登录的,以使登录链接显示给他们
问题是,当会话到期时,FormsAuthentication仍会验证用户是否为已登录用户,因此看起来该用户已注销,但实际上他是使用表单身份验证登录的
因此,我所做的OnActionExecuting方法我检查会话是否为空,我为用户注销,因此在本例中,我确保用户已注销
发布于 2012-06-13 19:59:14
设置看起来没问题,您确定要调用此操作吗?你不是有一些不带Authorize注解的名为ManageResturant的操作吗?
https://stackoverflow.com/questions/11013563
复制相似问题