如果 AbpAuthorize 在 asp.net mvc 中失败,如何重定向到登录页面?
How to redirect to login page if AbpAuthorize is failed in asp.net mvc?
我修改了 asp.net 样板 mvc 模板 css,但不知何故,我可能会弄乱代码。现在如果用户未登录 in/not 授权,会弹出错误,单击确定,而不是重定向到登录页面,而是重定向到 app.js 中默认的 $urlRouterProvider。这是应用程序配置的一部分:
app.config([
'$stateProvider', '$urlRouterProvider', '$locationProvider', '$qProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider, $qProvider) {
$locationProvider.hashPrefix('');
$urlRouterProvider.otherwise("/");
$qProvider.errorOnUnhandledRejections(false);
$stateProvider
.state('login', {
url: '/Account/Login',
templateUrl:'/Views/Account/Login.cshtml'
})
.state('dashboard', {
url: '/',
templateUrl: '/App/Main/views/dashboard/dashboard.html',
data: { pageTitle: '' }
})
]);
任何人都可以解释一下幕后发生的事情吗?无论您在 angularjs 中定义了什么,将用户重定向到登录页面的魔术代码是什么?
提前致谢!
经过几天的搜索,我发现它不起作用的原因是响应没有被HandleUnauthorizedRequest 方法处理。当收到 401 未授权状态时,它应该重定向到您在启动时定义的路径。
为什么它没有触发 HandleUnauthorizedRequest 是因为我删除了 Home 控制器中的 AbpMvcAuthorize。
我修改了 asp.net 样板 mvc 模板 css,但不知何故,我可能会弄乱代码。现在如果用户未登录 in/not 授权,会弹出错误,单击确定,而不是重定向到登录页面,而是重定向到 app.js 中默认的 $urlRouterProvider。这是应用程序配置的一部分:
app.config([
'$stateProvider', '$urlRouterProvider', '$locationProvider', '$qProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider, $qProvider) {
$locationProvider.hashPrefix('');
$urlRouterProvider.otherwise("/");
$qProvider.errorOnUnhandledRejections(false);
$stateProvider
.state('login', {
url: '/Account/Login',
templateUrl:'/Views/Account/Login.cshtml'
})
.state('dashboard', {
url: '/',
templateUrl: '/App/Main/views/dashboard/dashboard.html',
data: { pageTitle: '' }
})
]);
任何人都可以解释一下幕后发生的事情吗?无论您在 angularjs 中定义了什么,将用户重定向到登录页面的魔术代码是什么?
提前致谢!
经过几天的搜索,我发现它不起作用的原因是响应没有被HandleUnauthorizedRequest 方法处理。当收到 401 未授权状态时,它应该重定向到您在启动时定义的路径。
为什么它没有触发 HandleUnauthorizedRequest 是因为我删除了 Home 控制器中的 AbpMvcAuthorize。