【发布时间】:2014-03-26 14:23:44
【问题描述】:
假设我有一个 ASP.NET MVC 控制器,它具有通常的添加、更新、删除和详细信息操作。
在每个操作中,我必须检查传入的 ID 是否与现有的数据库对象匹配,以及它是否不返回 404。
有时我还必须检查当前用户是否已获得此特定对象或其他测试的授权。
我经常在几个控制器动作中写很多重复的代码,就像这样:
Foo foo = DataContext.Foos.Find(id);
if(foo == null)
return HttpNotFound("The requested foo does not exist");
if(!foo.Users.Any(x => x.Username == User.Identity.Name))
throw new HttpException(401, "Unauthorized access");
有没有更好的方法来“自动”为某些操作执行/包含/注入此类测试?
【问题讨论】:
-
自定义属性?共享功能?方法很多!
标签: asp.net-mvc