解决方案 »
- 40分求教SqlDateTime 溢出 问题 (An exception occurred when executing batch queries!)
- 限制会员的发帖数
- 关于网站的问题
- 用IP可以访问网站但不能用域名访问
- 关于《》
- 在gridview中参数传递求解?
- 学习ASP.NET之前,该先学ASP吗?
- 大家使用水晶报表有没出现过使用次数的限制啊,如果有了怎么办,要是要交钱要交多少啊
- IE WebControl的使用问题,请教大家。
- 我在Page中怎么调用UserControl的方法
- System.Web.HttpContext.Current.User.Identity作用
- checkbox赋值
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.Cookies[".ASPXAUTH"]!=null)
{
//...自定义的一些权限判断
}
}
把你ActionFilter判定权限的地方改成上面的
这个肯定不行,第一次上传时HttpContext.Request.Cookies里面只有一个ASP.NET_SessionId,而没有.ASPXAUTH我只能在Request.Params[".ASPXAUTH"]获取到这个值,但我不可能用从这个".ASPXAUTH"就让它判断通过,因为这只是一个Request的参数,完全可以伪装的
protected void Application_BeginRequest()在Application_BeginRequest里面把Request.Params里面的".ASPXAUTH" 添加到Request.Cookie就好了
, 后面AuthorizeFilter里的HttpContext.User.Identity.IsAuthenticated就自动为true了.我却以为MVC是没有 Application_BeginRequest()的,就跑到OnActionExecuting里面写,搞死都搞不出来.我去~,基础不过关,浪费半天时间 !