【发布时间】:2015-01-06 17:40:32
【问题描述】:
我在一个运行良好的 asp.net 应用程序中使用 Durandal。我想要实现的是在它的路由中添加一些东西,这样如果需要我可以停止当前路由并重定向。
这样做的原因是我想获得一些权限,这些路由将权限存储在数据库中。因此,在路由期间,我想检查路由,相应地使用 web api 检查他们是否有权访问该路由并重定向,或者使用视图模型上的方法来检查并相应地重定向。我确实在视图模型上使用了激活功能,我想知道路由是否可以重定向到这里?
以前有人做过吗?
编辑: 以下是我最终在测试路线上使用以使其正常工作的代码。 Web api 函数 HasAccessToRoute 部分返回一个布尔值:
define(['durandal/http', 'plugins/router', 'knockout', 'durandal/app'], function (http, router, ko, app) {
function viewModel() {
var self = this;
self.canActivate = function () {
return http.ajaxRequest("get", "/api/route/hasaccesstoroute?route=test")
.done(function (result) {
if (!result) {
app.showMessage("Test area cannot be accessed");
}
});
};
}
var model = new viewModel();
return model;
});
【问题讨论】:
标签: asp.net durandal-2.0