Shiro を用いた Spring Boot アプリケーションでの認証・認可制御の実装
Web アプリケーションにおけるアクセス制御は、ユーザーのログイン状態やロール・権限に基づいて URL や UI 要素へのアクセスを制限する仕組みです。Apache Shiro は Java 向けの軽量かつ柔軟なセキュリティフレームワークであり、認証(Authentication)、認可(Authorization)、セッション管理などをシンプルに実現できます。本稿では、Spring Boot と Thymeleaf を使用 ...
7月31日 08:08 投稿
Spring Bootでのバックエンドグラフィック認証コードの実装
この認証コードの実装は多くのプラグインを使用せず、コードを直接提示します。すぐに使用できます。
1.認証コードクラス
package com.example.security.util.captcha;
import lombok.Data;
/**
* 認証コードクラス
*/
@Data
public class CaptchaCode {
private String code;
private byte[] imageBytes;
private long expirationTime;
}
2.認証コー ...
7月28日 23:28 投稿
Spring Bootでのインターセプター設定:認証ガード実装
Spring Bootでのインターセプター設定(認証ガード)
本記事では、Spring Boot 2.x環境でのインターセプター設定方法、特にログイン認証のガードとしての実装について解説します。
1. インターセプター実装クラスの作成
まず、HandlerInterceptorインターフェースを実装したクラスを作成し、必要なメソッドをオーバーライドして独自のビジネスロジックを実装します。
p ...
7月27日 17:53 投稿
Spring BootでChatGLM3-6bモデルを統合する方法
この記事では、Spring BootアプリケーションでChatGLM3-6bモデルと連携する方法について説明します。他のモデルとの接続方法も同様に応用できます。
モデルパラメータの確認
ここでは、アリクラウドから提供された文書に基づいて、モデルパラメータを設定します。HTTPリクエストを使用して非SDK方式でAPIを呼び出します。
以下のサンプルリクエストを見ていきます:
c ...
7月26日 16:03 投稿
開発効率を向上させるための実践的なヒント
既に定義されたAPIインターフェースに対して、なぜ開発が遅いのでしょうか?他の作業が挟まることもありますが、それでもなお遅いと感じるのは、思考の問題なのか、それともテクニックの問題なのでしょうか。
細心さを持ち、バグを減らそう!
同僚から圧縮ファイルのアップロード機能の実装を依頼され、以前作成した圧縮関数があったので、そのままコピー&ペーストしま ...
7月25日 23:28 投稿
Java Webアプリケーションにおけるクロスドメインリクエストの実装方法
JSONPを使用したクロスドメイン通信
JSONP(JSON with Padding)は、同一生成元ポリシーの制限を回避するための一般的な手法です。以下にJavaバックエンドとJavaScriptフロントエンドの実装例を示します。
サーバーサイド実装
package com.example.web.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.bind.annotation. ...
7月24日 18:35 投稿
Java ベースのタスク割当システム設計と実装ガイド
システムアーキテクチャと開発フロー
本ガイドでは、Spring Boot を基盤とした高スループットなタスク割当プラットフォームの構築手順を段階的に解説します。ドメイン駆動設計(DDD)の考え方を一部取り入れ、責務を明確に分割したモジュール構造を目指します。
1. プロジェクト初期化とビルド設定
開発環境の基盤には Maven を採用し、Spring Boot 3.x の依存関係を一括 ...
7月24日 03:58 投稿
Spring BootとRabbitMQを用いた支払い結果通知システムの実装
RabbitMQ設定クラス
@Configuration
public class PaymentNotificationConfig implements ApplicationContextAware {
public static final String PAYMENT_EXCHANGE = "payment_exchange";
public static final String NOTIFICATION_TYPE = "payment_result";
public static final String NOTIFICATION_QUEUE = "payment_notification_queue";
@Bean(PA ...
7月22日 23:05 投稿
MyBatisインターセプターを用いたデータ匿名化の実現
1. MyBatisインターセプターの概要
1.1 MyBatisインターセプターとは
MyBatisインターセプターは、MyBatisがSQL文を実行する際にその処理を傍受し、変更または拡張するためのプラグイン機構です。この機構により、MyBatisの実行フローの様々なポイントにカスタムロジックを挿入し、ログ記録、SQLクエリの動的な変更、パフォーマンス最適化などの独自動作を実装できます。
...
7月22日 16:24 投稿
Spring Bootにおける条件付きBeanの有効化: @ConditionalOnPropertyアノテーションの活用
@ConditionalOnPropertyによる条件付きBeanの定義
Spring Bootアプリケーションでは、特定の条件に基づいてBeanを登録したり、設定クラスを有効にしたりすることができます。その中でも、アプリケーションのプロパティ値に基づいてコンポーネントの有効/無効を切り替える際に非常に便利なのが@ConditionalOnPropertyアノテーションです。
このアノテーションは、指定された ...
7月21日 21:15 投稿