Как настроить Spring Security с проверкой подлинности Office 365? - PullRequest
0 голосов
/ 24 января 2019

Я новичок в весенней безопасности. Я понял основы Spring-Security о менеджере аутентификации и других вещах.
Я использую angularjs в качестве внешнего интерфейса и spring 3.0.5 в качестве внутреннего.

Я хочу добавить Spring Spring для авторизации на основе ролей в мой существующий проект.

Я также хочу аутентифицировать пользователя, используя офис 365. Итак, я создал приложение в https://apps.dev.microsoft.com/ и дал URI перенаправления в качестве действия localhost.

Используя мой код, я могу аутентифицироваться с помощью Office 365. Я могу получить имя пользователя в перенаправленном действии.

@RequestMapping(value="/getCodeAndProcess", method=RequestMethod.POST)
    private ModelAndView getCodeAndProcess(@RequestParam("code") String code, HttpServletRequest request) throws Exception {
        HttpSession session = null;
        try {
        session = request.getSession(false);
        session.setMaxInactiveInterval(45*60);

        String username = helper.processCodeAndGetUsername(code); //this is I'm getting using office 365.
        String userRole = helper.getUserRoleBasedOnUsername(username);
        System.out.println("================userRole================="+userRole);
        if(username != "") {
            session.setAttribute("username", username);
            session.setAttribute("userRole", userRole);
        }else {
            session.invalidate();
            throw new Exception("username not found");
        }
       return new ModelAndView("redirect:/adminDashboard/showDashboard");
    }catch(Exception e) {
        log.error("Error while processing on users authentication.",e );
        session.invalidate();
        return new ModelAndView("redirect:/login/loginPage");
    }
}

Теперь я не понимаю, как настроить имя пользователя и роли в security-context.xml, чтобы я мог использовать @PreAuthorize("hasRole('ROLE_USER')"), isAuthenticated(), <sec:authorize в своем приложении. (Что добавить в security-context.xml? Чтобы связать имя пользователя с ролью, как в сценарии входа в систему.)

Не могли бы вы помочь понять этот рабочий процесс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...