我需要编写一些代码来在我的项目数据库中找到一个 ID。用户与一个项目耦合,所有项目都与其他对象(例如会话)有很多连接。
现在我需要在运行任何操作之前检查,如果用户试图访问会话,是否连接到与会话连接的同一个项目。
为此,我想在操作上使用 [属性]。 MVC:创建一个带有参数的自定义 [AuthorizeAttribute]?
这个问题和答案让我开始了,但我在使用控制器的构造函数来获取我的Project ID
目标是我可以在每个构造函数中编写一些代码,我的所有对象控制器取决于项目,找到项目 ID,并使其可访问(公共),因此我[customauthorize]
将有权访问此项目 ID 以检查是否用户是否有权访问。
我的问题:
public class SessionController : Controller {
NASDataContext _db = new NASDataContext();
public SessionController() {
var test = RouteData;
var ses = _db.Sessies.First(q=>q.Ses_ID==1);
}
如何访问我的路由数据?RouteData
为空,HttpContext
为空,Request
为空。
我需要 url 中的 ID,它在 routedata 中...