提供 Quarkus 安全开发最佳实践,覆盖认证授权、密钥与依赖风险防护。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "quarkus-security" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/docs/tr/skills/quarkus-security/SKILL.md 2. 保存为 ~/.claude/skills/quarkus-security/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为一个使用 Quarkus 的企业后台系统设计安全方案,包含 JWT/OIDC 登录、基于角色的访问控制、接口权限划分和常见错误配置规避建议。
输出一套 Quarkus 认证授权设计建议,含配置要点、权限模型和风险提醒。
请审查下面的 Quarkus Web 应用安全性,重点检查输入校验、CSRF 防护、参数处理和潜在攻击面,并给出修复建议与示例代码。
得到针对输入处理与 CSRF 问题的审查清单、漏洞说明和修复示例。
请给出 Quarkus 项目的安全加固清单,重点包括 secrets management、环境变量使用、依赖漏洞治理、版本更新策略和 CI/CD 中的安全检查做法。
输出适用于 Quarkus 项目的安全加固清单,覆盖密钥管理、依赖治理和流水线检查。
Kimlik doğrulama, yetkilendirme ve girdi doğrulama ile Quarkus uygulamalarını güvenli hale getirmek için en iyi uygulamalar.
@RolesAllowed veya SecurityIdentity ile yetkilendirme uygulamaQuarkus güvenliğini katmanlı uygulayın: JWT/OIDC veya Basic Auth ile kimliği
doğrulayın, SecurityIdentity ve @RolesAllowed ile yetki kararlarını
merkezileştirin, Bean Validation ile girdileri sınırlandırın, CORS ve güvenlik
başlıklarını açıkça yapılandırın, gizli bilgileri Vault veya ortam değişkenleri
üzerinden yönetin.
// JWT ile korunan resource
@Path("/api/protected")
@Authenticated
public class ProtectedResource {
@Inject
JsonWebToken jwt;
@Inject
SecurityIdentity securityIdentity;
@GET
public Response getData() {
String username = jwt.getName();
Set<String> roles = jwt.getGroups();
return Response.ok(Map.of(
"username", username,
"roles", roles,
"principal", securityIdentity.getPrincipal().getName()
)).build();
}
}
Yapılandırma (application.properties):
mp.jwt.verify.publickey.location=publicKey.pem
mp.jwt.verify.issuer=https://auth.example.com
# OIDC
quarkus.oidc.auth-server-url=https://auth.example.com/realms/myrealm
quarkus.oidc.client-id=backend-service
quarkus.oidc.credentials.secret=${OIDC_SECRET}
@Provider
@Priority(Priorities.AUTHENTICATION)
public class CustomAuthFilter implements ContainerRequestFilter {
@Inject
SecurityIdentity identity;
@Override
public void filter(ContainerRequestContext requestContext) {
String authHeader = requestContext.getHeaderString(HttpHeaders.AUTHORIZATION);
// Başlık yoksa veya hatalıysa hemen reddet
if (authHeader == null || !authHeader.startsWith("Bearer ")) {
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).build());
return;
}
String token = authHeader.substring(7);
if (!validateToken(token)) {
requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).build());
}
}
private boolean validateToken(String token) {
// Token doğrulama mantığı
return true;
}
}
@Path("/api/admin")
@RolesAllowed("ADMIN")
public class AdminResource {
@GET
@Path("/users")
public List<UserDto> listUsers() {
return userService.findAll();
}
@DELETE
@Path("/users/{id}")
@RolesAllowed({"ADMIN", "SUPER_ADMIN"})
public Response deleteUser(@PathParam("id") Long id) {
userService.delete(id);
return Response.noContent().build();
}
}
@Path("/api/users")
public class UserResource {
@Inject
SecurityIdentity securityIdentity;
@GET
@Path("/{id}")
@RolesAllowed("USER")
public Response getUser(@PathParam("id") Long id) {
// Sahipliği kontrol et
if (!securityIdentity.hasRole("ADMIN") &&
!isOwner(id, securityIdentity.getPrincipal().getName())) {
return Response.status(Response.Status.FORBIDDEN).build();
}
return Response.ok(userService.findById(id)).build();
}
private boolean isOwner(Long userId, String username) {
return userService.isOwner(userId, username);
}
}
@ApplicationScoped
public class SecurityService {
@Inject
SecurityIdentity securityIdentity;
public boolean canAccessResource(Long resourceId) {
if (securityIdentity.isAnonymous()) {
return false;
}
…
帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
帮助开发者落实 Quarkus 认证授权、JWT/OIDC 与应用安全最佳实践。
提供 Spring Boot 服务认证授权与安全加固最佳实践建议。
为 Spring Boot 服务提供认证鉴权、CSRF、防护头与依赖安全最佳实践
帮助开发者为 Spring Boot 服务落实认证授权与安全加固最佳实践。
为 Quarkus 项目执行构建、测试、安全扫描与发布前验证闭环
为 Quarkus 项目执行发布前验证闭环,涵盖构建、测试、扫描与差异审查。