我正在看一篇关于Angular应用程序如何在两个项目之间路由的文章。
我有两个名为 presentation.web 和 security.web 的项目。
在 security.web 中,我有一个用于身份验证服务的控制器。用户通过身份验证后,需要将页面重定向到 presentation.web 中的主页。
如何通过使用单个应用来实现这一目标?或者我如何在两个应用程序之间路由?我使用visual studio 2013来开发我的项目(使用C#开发AngularJS应用程序)
我有注册控制器,并在security.web(在屏幕截图中突出显示)项目
下登录
我在home.web项目(屏幕截图中突出显示)下有家庭控制器和todocontroller,当用户签名时,页面必须重定向到todoManager。
signincontroller:
.success(function (data, status, headers, config) {
$http.defaults.headers.common.Authorization = "Bearer " + data.access_token;
$http.defaults.headers.common.RefreshToken = data.refresh_token;
$cookieStore.put('_Token', data.access_token);
window.location = '#/todomanager';
})
现在我想要的是应用程序,我以正常的方式路由到我们使用的页面,但我想在这两个项目之间路由模块。是否可以像下面那样路由模块?
//================================================
// Routes
//================================================
$routeProvider.when('/home', {
templateUrl: 'App/Home',
controller: 'homeCtrl'
});
$routeProvider.when('/register', {
templateUrl: 'App/Register',
controller: 'registerCtrl'
});
$routeProvider.when('/signin/:message?', {
templateUrl: 'App/SignIn',
controller: 'signInCtrl'
});
$routeProvider.when('/todomanager', {
templateUrl: 'App/TodoManager',
controller: 'todoManagerCtrl'
});`app.run(['$http', '$cookies', '$cookieStore', function ($http, $cookies, $cookieStore) {
//If a token exists in the cookie, load it after the app is loaded, so that the application can maintain the authenticated state.
$http.defaults.headers.common.Authorization = 'Bearer ' + $cookieStore.get('_Token');
$http.defaults.headers.common.RefreshToken = $cookieStore.get('_RefreshToken');}]);`
这里我在presentation.web
中获取令牌app.run(['$rootScope', '$http', '$cookies', '$cookieStore', function ($rootScope, $http, $cookies, $cookieStore) {
$rootScope.logout = function () {
$http.post('/api/Account/Logout')
.success(function (data, status, headers, config) {
$http.defaults.headers.common.Authorization = null;
$http.defaults.headers.common.RefreshToken = null;
$cookieStore.remove('_Token');
$cookieStore.remove('_RefreshToken');
$rootScope.username = '';
$rootScope.loggedIn = false;
window.location = '#/signin';
});
}
$rootScope.$on('$locationChangeSuccess', function (event) {
if ($http.defaults.headers.common.RefreshToken != null) {
var params = "grant_type=refresh_token&refresh_token=" + $http.defaults.headers.common.RefreshToken;
$http({
url: '/Token',
method: "POST",
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: params
})
.success(function (data, status, headers, config) {
$http.defaults.headers.common.Authorization = "Bearer " + data.access_token;
$http.defaults.headers.common.RefreshToken = data.refresh_token;
$cookieStore.put('_Token', data.access_token);
$cookieStore.put('_RefreshToken', data.refresh_token);
$http.get('/api/WS_Account/GetCurrentUserName')
.success(function (data, status, headers, config) {
if (data != "null") {
$rootScope.username = data.replace(/["']{1}/gi, "");//Remove any quotes from the username before pushing it out.
$rootScope.loggedIn = true;
}
else
$rootScope.loggedIn = false;
});
})
.error(function (data, status, headers, config) {
$rootScope.loggedIn = false;
});
}
});
}]);
或者我可以做什么路由?