使用CAS进行AngularJS App身份验证 - XHR请求

Ty *_*zak 5 php cas angularjs

我目前正在创建一个角度Web应用程序,需要对某些部分进行身份验证,但不需要整个部分.

我必须使用来自外部方的CAS身份验证页面,并且无法弄清楚如何将两者融合在一起.

通常,我只是包含phpCas :: ForceAuthentication方法来启用auth,但由于调用来自部分视图,因此它是一个XHR请求,因此无法重定向到CAS页面(跨域错误).

我涉及主页上的身份验证解决方案,这些解决方案有时会被触发,从主服务和其他一些服务器重定向,但还没有任何工作.

如果需要,我可以详细了解相关的确切设置.

谢谢!

Cha*_*cho 5

这就是我所做的,如果请求的视图需要身份验证,我会检查每个路由更改,如果是,则重定向到登录页面.这是我的一些代码:

检查视图是否需要验证:

app.run(['$rootScope', '$state', 'UserFactory',
    function ($rootScope, $state, UserFactory) {
        $rootScope.$on("$stateChangeStart", function (event, toState) {
           if (toState.authenticate && !UserFactory.IsAuthenticated()) {
                $state.transitionTo("login");
                event.preventDefault();
            }
        });
    }
]);
Run Code Online (Sandbox Code Playgroud)

查看配置:

    $stateProvider.state({
        name        : 'stateName',
        url         : '/path/',
        templateUrl : 'public/partials/template.html',
        controller  : 'SomeController',
        authenticate: true //or false if authentication is not required
    })
Run Code Online (Sandbox Code Playgroud)

希望这对你有所帮助,祝你好运