{"id":135414,"date":"2024-03-26T11:37:46","date_gmt":"2024-03-26T02:37:46","guid":{"rendered":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/"},"modified":"2024-04-04T10:04:49","modified_gmt":"2024-04-04T01:04:49","slug":"springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/","title":{"rendered":"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5"},"content":{"rendered":"<p>SpringSide\u3067XFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u3092\u5b9f\u88c5\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044:<\/p>\n<ol>\n<li>XFire\u3068Spring Security\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092 pom.xml \u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u3002<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.codehaus.xfire<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>xfire-all<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">version<\/span>&gt;<\/span>1.2.6<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">version<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.springframework.security<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>spring-security-web<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">version<\/span>&gt;<\/span>5.1.4.RELEASE<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">version<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.springframework.security<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>spring-security-config<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">version<\/span>&gt;<\/span>5.1.4.RELEASE<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">version<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>org.springframework.security.core.userdetails.UserDetailsService<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Service<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">UserDetailsServiceImpl<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">UserDetailsService<\/span> {\r\n<span class=\"hljs-meta\">@Autowired<\/span>\r\n<span class=\"hljs-keyword\">private<\/span> UserRepository userRepository;\r\n<span class=\"hljs-meta\">@Override<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> UserDetails <span class=\"hljs-title function_\">loadUserByUsername<\/span><span class=\"hljs-params\">(String username)<\/span> <span class=\"hljs-keyword\">throws<\/span> UsernameNotFoundException {\r\n<span class=\"hljs-type\">User<\/span> <span class=\"hljs-variable\">user<\/span> <span class=\"hljs-operator\">=<\/span> userRepository.findByUsername(username);\r\n<span class=\"hljs-keyword\">if<\/span> (user == <span class=\"hljs-literal\">null<\/span>) {\r\n<span class=\"hljs-keyword\">throw<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">UsernameNotFoundException<\/span>(<span class=\"hljs-string\">\"User not found\"<\/span>);\r\n}\r\n<span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">org<\/span>.springframework.security.core.userdetails.User(user.getUsername(), user.getPassword(),\r\nArrays.asList(<span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">SimpleGrantedAuthority<\/span>(user.getRole())));\r\n}\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>org.springframework.ws.soap.security.xwss.XwsSecurityInterceptor<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Component<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">XFireSecurityInterceptor<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_\">XwsSecurityInterceptor<\/span> {\r\n<span class=\"hljs-meta\">@Autowired<\/span>\r\n<span class=\"hljs-keyword\">private<\/span> UserDetailsService userDetailsService;\r\n<span class=\"hljs-meta\">@Override<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">afterPropertiesSet<\/span><span class=\"hljs-params\">()<\/span> <span class=\"hljs-keyword\">throws<\/span> Exception {\r\n<span class=\"hljs-type\">Wss4jSecurityInterceptor<\/span> <span class=\"hljs-variable\">securityInterceptor<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Wss4jSecurityInterceptor<\/span>();\r\nsecurityInterceptor.setValidationActions(<span class=\"hljs-string\">\"UsernameToken\"<\/span>);\r\nsecurityInterceptor.setSecurementActions(<span class=\"hljs-string\">\"UsernameToken\"<\/span>);\r\nsecurityInterceptor.setSecurementUsernameTokenNoPassword(<span class=\"hljs-literal\">true<\/span>);\r\nsecurityInterceptor.setSecurementUsernameTokenDigestPassword(<span class=\"hljs-literal\">true<\/span>);\r\nsecurityInterceptor.setSecurementPasswordType(WSConstants.PASSWORD_DIGEST);\r\nsecurityInterceptor.setValidationCallbackHandler(callbackHandler());\r\nsecurityInterceptor.setValidationActions(<span class=\"hljs-string\">\"UsernameToken\"<\/span>);\r\nsecurityInterceptor.setValidationSignatureCrypto(getCrypto());\r\nsecurityInterceptor.setValidationDecryptionCrypto(getCrypto());\r\n<span class=\"hljs-built_in\">this<\/span>.setInterceptors(<span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ClientInterceptor<\/span>[]{securityInterceptor});\r\n}\r\n<span class=\"hljs-keyword\">private<\/span> CallbackHandler <span class=\"hljs-title function_\">callbackHandler<\/span><span class=\"hljs-params\">()<\/span> {\r\n<span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">PasswordCallbackHandler<\/span>(userDetailsService);\r\n}\r\n<span class=\"hljs-keyword\">private<\/span> Crypto <span class=\"hljs-title function_\">getCrypto<\/span><span class=\"hljs-params\">()<\/span> <span class=\"hljs-keyword\">throws<\/span> WSSecurityException {\r\n<span class=\"hljs-type\">Properties<\/span> <span class=\"hljs-variable\">properties<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Properties<\/span>();\r\nproperties.setProperty(<span class=\"hljs-string\">\"org.apache.ws.security.crypto.provider\"<\/span>,\r\n<span class=\"hljs-string\">\"org.apache.ws.security.components.crypto.Merlin\"<\/span>);\r\nproperties.setProperty(<span class=\"hljs-string\">\"org.apache.ws.security.crypto.merlin.keystore.password\"<\/span>, <span class=\"hljs-string\">\"keystorePassword\"<\/span>);\r\nproperties.setProperty(<span class=\"hljs-string\">\"org.apache.ws.security.crypto.merlin.keystore.alias\"<\/span>, <span class=\"hljs-string\">\"alias\"<\/span>);\r\nproperties.setProperty(<span class=\"hljs-string\">\"org.apache.ws.security.crypto.merlin.keystore.file\"<\/span>, <span class=\"hljs-string\">\"keystorePath\"<\/span>);\r\n<span class=\"hljs-type\">Crypto<\/span> <span class=\"hljs-variable\">crypto<\/span> <span class=\"hljs-operator\">=<\/span> CryptoFactory.getInstance(properties);\r\n<span class=\"hljs-keyword\">return<\/span> crypto;\r\n}\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>org.springframework.ws.soap.security.callback.CallbackHandler<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">PasswordCallbackHandler<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">CallbackHandler<\/span> {\r\n<span class=\"hljs-keyword\">private<\/span> UserDetailsService userDetailsService;\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-title function_\">PasswordCallbackHandler<\/span><span class=\"hljs-params\">(UserDetailsService userDetailsService)<\/span> {\r\n<span class=\"hljs-built_in\">this<\/span>.userDetailsService = userDetailsService;\r\n}\r\n<span class=\"hljs-meta\">@Override<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">handle<\/span><span class=\"hljs-params\">(Callback[] callbacks)<\/span> <span class=\"hljs-keyword\">throws<\/span> IOException, UnsupportedCallbackException {\r\n<span class=\"hljs-keyword\">for<\/span> (Callback callback : callbacks) {\r\n<span class=\"hljs-keyword\">if<\/span> (callback <span class=\"hljs-keyword\">instanceof<\/span> UsernameCallback) {\r\n<span class=\"hljs-type\">UsernameCallback<\/span> <span class=\"hljs-variable\">usernameCallback<\/span> <span class=\"hljs-operator\">=<\/span> (UsernameCallback) callback;\r\n<span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">username<\/span> <span class=\"hljs-operator\">=<\/span> usernameCallback.getUsername();\r\n<span class=\"hljs-type\">UserDetails<\/span> <span class=\"hljs-variable\">userDetails<\/span> <span class=\"hljs-operator\">=<\/span> userDetailsService.loadUserByUsername(username);\r\n<span class=\"hljs-keyword\">if<\/span> (userDetails == <span class=\"hljs-literal\">null<\/span>) {\r\n<span class=\"hljs-keyword\">throw<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">IOException<\/span>(<span class=\"hljs-string\">\"User not found\"<\/span>);\r\n}\r\nusernameCallback.setPassword(userDetails.getPassword());\r\n} <span class=\"hljs-keyword\">else<\/span> {\r\n<span class=\"hljs-keyword\">throw<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">UnsupportedCallbackException<\/span>(callback);\r\n}\r\n}\r\n}\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>XFire\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30a4\u30f3\u30bf\u30fc\u30bb\u30d7\u30bf\u30fc<\/li>\n<li>\u6a19\u6e96\u7684\u306a PayloadRoot \u6ce8\u91c8\u3064\u304d\u30e1\u30bd\u30c3\u30c9\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u30de\u30c3\u30d4\u30f3\u30b0<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">bean<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"xfire\"<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"org.springframework.remoting.xfire.XFireFactoryBean\"<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">property<\/span> <span class=\"hljs-attr\">name<\/span>=<span class=\"hljs-string\">\"inInterceptors\"<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">list<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">ref<\/span> <span class=\"hljs-attr\">bean<\/span>=<span class=\"hljs-string\">\"xfireSecurityInterceptor\"<\/span>\/&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">list<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">property<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">bean<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">bean<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"xfireSecurityInterceptor\"<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"com.example.XFireSecurityInterceptor\"<\/span>\r\n<span class=\"hljs-attr\">init-method<\/span>=<span class=\"hljs-string\">\"afterPropertiesSet\"<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">property<\/span> <span class=\"hljs-attr\">name<\/span>=<span class=\"hljs-string\">\"userDetailsService\"<\/span> <span class=\"hljs-attr\">ref<\/span>=<span class=\"hljs-string\">\"userDetailsService\"<\/span>\/&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">bean<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">bean<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping\"<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">property<\/span> <span class=\"hljs-attr\">name<\/span>=<span class=\"hljs-string\">\"interceptors\"<\/span> <span class=\"hljs-attr\">ref<\/span>=<span class=\"hljs-string\">\"xfire\"<\/span>\/&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">bean<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0a<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SpringSide\u3067XFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u3092\u5b9f\u88c5\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044: XFire\u3068Spring Security\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092 pom.xml \u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u3002 &lt;dependency [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-135414","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/ja\/blog\/springside\u306b\u3088\u308bxfire-web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5\" \/>\n<meta property=\"og:description\" content=\"SpringSide\u3067XFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u3092\u5b9f\u88c5\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044: XFire\u3068Spring Security\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092 pom.xml \u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u3002 &lt;dependency [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/ja\/blog\/springside\u306b\u3088\u308bxfire-web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-26T02:37:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-04T01:04:49+00:00\" \/>\n<meta name=\"author\" content=\"\u590f\u6a39, \u98a8\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u590f\u6a39, \u98a8\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/\",\"name\":\"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\"},\"datePublished\":\"2024-03-26T02:37:46+00:00\",\"dateModified\":\"2024-04-04T01:04:49+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4e591db2661c4cc425470b461259391d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/ja\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4e591db2661c4cc425470b461259391d\",\"name\":\"\u590f\u6a39, \u98a8\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/65e0ff40534461b1fa000382dc194e1716f793ab0bcb218ac3c40895551a08c5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/65e0ff40534461b1fa000382dc194e1716f793ab0bcb218ac3c40895551a08c5?s=96&d=mm&r=g\",\"caption\":\"\u590f\u6a39, \u98a8\"},\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/author\/natsukikaze\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/ja\/blog\/springside\u306b\u3088\u308bxfire-web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5\/","og_locale":"ja_JP","og_type":"article","og_title":"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5","og_description":"SpringSide\u3067XFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u3092\u5b9f\u88c5\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044: XFire\u3068Spring Security\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092 pom.xml \u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u3002 &lt;dependency [&hellip;]","og_url":"https:\/\/www.silicloud.com\/ja\/blog\/springside\u306b\u3088\u308bxfire-web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-03-26T02:37:46+00:00","article_modified_time":"2024-04-04T01:04:49+00:00","author":"\u590f\u6a39, \u98a8","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u590f\u6a39, \u98a8","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"2\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/","url":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/","name":"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website"},"datePublished":"2024-03-26T02:37:46+00:00","dateModified":"2024-04-04T01:04:49+00:00","author":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4e591db2661c4cc425470b461259391d"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/ja\/blog\/"},{"@type":"ListItem","position":2,"name":"SpringSide\u306b\u3088\u308bXFire Web\u30b5\u30fc\u30d3\u30b9\u8a8d\u8a3c\u306e\u5b9f\u88c5"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website","url":"https:\/\/www.silicloud.com\/ja\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4e591db2661c4cc425470b461259391d","name":"\u590f\u6a39, \u98a8","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/65e0ff40534461b1fa000382dc194e1716f793ab0bcb218ac3c40895551a08c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/65e0ff40534461b1fa000382dc194e1716f793ab0bcb218ac3c40895551a08c5?s=96&d=mm&r=g","caption":"\u590f\u6a39, \u98a8"},"url":"https:\/\/www.silicloud.com\/ja\/blog\/author\/natsukikaze\/"},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/springside%e3%81%ab%e3%82%88%e3%82%8bxfire-web%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e8%aa%8d%e8%a8%bc%e3%81%ae%e5%ae%9f%e8%a3%85\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/135414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/comments?post=135414"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/135414\/revisions"}],"predecessor-version":[{"id":269496,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/135414\/revisions\/269496"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/media?parent=135414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/categories?post=135414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/tags?post=135414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}