ÇÁ·Î±×·¡¹Ö
ù ÆäÀÌÁö ·£´ý ±Û ȸ¿ø°¡ÀÔ ·Î±×ÀÎ
ºñ°ø°³ ¼Õ´Ô ¡¦ 2018-12-03 19:11:13
URL https://te31.com/rgr/view.php?id=study&no=2738 ¸ð¹ÙÀÏ È­¸é
Spring security °­Á¦ ·Î±×ÀÎ Áú¹®ÀÔ´Ï´Ù.

¾È³çÇϼ¼¿ä.
½ºÇÁ¸µ ÆûÀ» ÀÌ¿ëÇÑ ½ÃÅ¥¸®Æ¼ ·Î±×ÀÎÀÌ ¾Æ´Ñ °­Á¦·Î ½ÃÅ¥¸®Æ¼ ÄÁÅؽºÆ®¸¦ ¼³Á¤ÇØÁ༭ ·Î±×ÀÎÀ»
ÁøÇàÇÏ·Á°í Çϴµ¥¿ä.

±¸±Û¸µ Çغ¸¸é ¾Æ·¡¿Í °°Àº ÇüÅ·Π±¸¼ºÇÏ¸é ·Î±×ÀÎÀÌ µÈ´Ù°í ÇÕ´Ï´Ù.

@Resource(name="userDetailsService")
protected UserDetailsService userDetailsService;

@RequestMapping(value="login", method=RequestMethod.POST)
public String login(HttpServletRequest request) throws Exception{
    UserDetails ckUserDetails = userDetailsService.loadUserByUsername("USER_ID");
    Authentication authentication = new UsernamePasswordAuthenticationToken(ckUserDetails, "USER_PASSWORD", ckUserDetails.getAuthorities());

    SecurityContext securityContext = SecurityContextHolder.getContext();
    securityContext.setAuthentication(authentication);
    HttpSession session = request.getSession(true);
    session.setAttribute("SPRING_SECURITY_CONTEXT", securityContext);

    return "redirect:/login/success";
}

±×·¡¼­ À§¿Í°°ÀÌ ±¸¼ºÇؼ­ ÁøÇàÀ» ÇÏ¿´´Âµ¥ ·Î±×ÀÎÀÌ ¹Ý¸¸ µË´Ï´Ù.

¹«½¼¸»À̳ĸé,

ÀÏ´Ü API ·Î À§ ·Î±×ÀÎ ÇÁ·Î¼¼½º¸¦ Å¿î ÈÄ ÆäÀÌÁö¸¦ »õ·Î ¶ç¿öº¸¸é ·Î±×ÀÎÀÌ ¾ÈµÇ¾îÀÖ½À´Ï´Ù.

¿Ö ¾ÈµÇ´Â°ÅÁö °è¼Ó Çìµù ÇÏ´Ù°¡ ¾îµð¼­ ÇÊÅÍÂÊÀ» »ìÆ캸¶ó°í Çؼ­
ÇÊÅÍ¿¡ µð¹ö±ë Çϳª Çϳª Àâ¾Æ°¡¸ç µé¾î¿À´Â°Å È®ÀÎÇÏ´Ï±î ·Î±×ÀÎÀÌ µË´Ï´Ù.
(¼Ò½º ¼öÁ¤ÇÑ°Å ¾øÀ½)

Á¤¸®Çϸé, óÀ½ API ¿äû ½Ã HttpSessionSecurityContextRepository.class ¾È¿¡¼­
        private boolean contextChanged(SecurityContext context) {
            return context != this.contextBeforeExecution || context.getAuthentication() != this.authBeforeExecution;
        }
ÀÌ ¸Þ¼Òµå¿¡ µð¹ö±ëÀ» Àâ°í conext °¡ Á¦´ë·Î ±¸¼ºµÇ´ÂÁö È®ÀÎÇÕ´Ï´Ù.
ÀÌ ºÎºÐ Á¤»óÀûÀ¸·Î »ý¼ºµÊÀ» È®ÀÎÇÕ´Ï´Ù.

ÀÌÈÄ ÆäÀÌÁö¸¦ »õ·Î ¿äûÇÏ¸é ¾Õ¼­ »ý¼ºÇÑ context °¡ Á¦´ë·Î µé¾îÀÖÀ½ÀÌ È®ÀÎµÇ¸ç ·Î±×ÀÎÀÌ µÈ »óÅ·ΠÆäÀÌÁö°¡ È£Ã⠵˴ϴÙ.

ÀÚ ±×·³ ÀÌÁ¦ µð¹ö±ëÀ» Ç®¾îº¾´Ï´Ù.

´Ù½Ã API È£Ãâ ÈÄ ÆäÀÌÁö ¿äûÇÏ¸é ·Î±×ÀÎÀÌ ¾ÈµÇ¾îÀÖ½À´Ï´Ù.
À§¿¡ µð¹ö±ëÀ» Àâ°í ÆäÀÌÁö¸¦ ´Ù½Ã È£ÃâÇغ¸¸é context °¡ »ý¼ºµÇ¾îÀÖÁö ¾Ê½À´Ï´Ù.

µð¹ö±ëÀ» ÇÏ°í ¾ÈÇÏ°í Â÷ÀÌÀε¥ µµ´ëü ¾îµð¸¦ ¾î¶»°Ô º¸¾Æ¾ß ÇÒÁö °¨ÀÌ ¿ÀÁú¾Ê½À´Ï´Ù.

Á¶¾ð ºÎŹµå¸³´Ï´Ù ¤Ì_¤Ì

Áú¹® | 2288¸íÀÌ Àоú¾î¿ä. 18.219.112.111

0
1 ºñ°ø°³ ¼Õ´Ô ¡¦ 2018-12-03 19:16:30
±Û ¾²°í °è¼Ó Å×½ºÆ® ÁßÀε¥ ·Î±×ÀÎ ¾ÈµÇ´Â Çö»óÀÌ ÀçÇöÀÌ ¾ÈµÇ³×¿ä;; ÇÏ.. ÁøÂ¥ Â¥Áõ³ª³×
2 ºñ°ø°³ ¼Õ´Ô ¡¦ 2018-12-03 21:19:24
À̺Рº¸¸é ¸·Èú¶§¸¶´Ù ÇÁ°Ô¿¡ ¾²½Ã´Â°Å°°Àºµ¥
(¹¹¶ó ÇÏ´Â°Ô ¾Æ´Ô)
Àú¸¦ º¸´Â°Å°°³×¿ä ÀüºÎ À¥°ü·ÃÀ̳×
3 ºñ°ø°³ ¼Õ´Ô ¡¦ 2018-12-03 21:53:25
½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼°¡ ¿ø·¡ Á» °ÅÁö°°±ä ÇØ¿ä. Á¦ »ùÇà ÇÁ·ÎÁ§Æ® Çѹø º¸¼¼¿ä.
¼¼¼Ç ¾øÀÌ ÅäÅ«ÀÎÁõÀ¸·Î ·Î±×ÀΠó¸®ÇÏ´Â ¹æ½ÄÀε¥ ¸»¾¸ÇϽŠ½Ã³ª¸®¿À¶û °°½À´Ï´Ù.

https://github.com/FrancescoJo/springboot-multimodule-kotlin/tree/master/app_main/src/main/kotlin/com/github/fj/restapi/appconfig/mvc/security
4 ºñ°ø°³ ¼Õ´Ô ¡¦ 2018-12-03 21:55:18
±Û°í setAuthentication Àº filter ´Ü¿¡¼­ ÇØÁà¾ß ÇØ¿ä. ÄÁÆ®·Ñ·¯´Â ¿äû ó¸®ÇÑ µÚ¿¡ ¾²·¹µå°¡ ¿ÏÀüÈ÷ Á¾·áµÇ±â ¶§¹®¿¡ ´ç¿¬È÷ ThreadLocal ¿¡ ÀÖ¾î¾ß ÇÒ ·Î±×ÀÎ Á¤º¸°í ¹¹°í°¡ ³²¾ÆÀÖÁö ¾ÊÁÒ.

servlet ÀÇ µ¿ÀÛ ¹æ½Äµµ Çѹø ±í°Ô Æĺ¸½Ã´Â°Ô ÁÁ°Ú½À´Ï´Ù. ÀÏ´Ü ¿äûÀº servlet context load -> filter -> application (Spring) ¹æÇâÀ¸·Î È帨´Ï´Ù.
´ñ±ÛÀ» ÀÛ¼ºÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.
(±ÇÇÑÀÌ ¾ø´Â ȸ¿ø·¹º§)
¸ñ·ÏÀ¸·Î
ÀÌ¿ë¾à°ü | ±¤°í/Á¦ÈÞ | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | ¹®ÀÇ/½Å°í | ¸ð¹ÙÀÏ TE31 | ¼­¹ö ºÎÇÏ : 12.75%
½Ç½Ã°£ Issue Ä¿¹Â´ÏƼ TE31 [¾ËÁö·Õ] ¨Ï 2002-2024
TOP arrow_upward